From d4c75dbd4b26523b0e06c129866246b3931cfd0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=96=87=E9=92=A2?= Date: Mon, 6 Sep 2021 13:16:51 +0000 Subject: [PATCH 1/6] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=8A=A8=E6=80=81shape?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC=EF=BC=88ResNet50=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\206\346\214\207\345\257\274(ResNet50).md" | 195 ++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 "Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" new file mode 100644 index 0000000..0627586 --- /dev/null +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" @@ -0,0 +1,195 @@ +# 动态Shape推理指导 + + + +## 1. 前言 + +本文旨在说明如何在模型存在动态shape算子的场景下,进行模型转换和模型推理。 + +本文介绍的动态shape场景通过设定`shape_range`的方式,支持`shape_range`内的任意shape。 + +现有离线推理工具:benchmark/msame暂不支持动态shape的推理,需要基于pyACL库实现模型的动态shape推理,具体可参照:4. 模型推理 + +代码可参考:[Resnet50_dynamic]() + +## 2. 原理说明 + +本文主要基于pyACL(Python Ascend Computing Language)进行动态shape模型的推理: + +pyACL就是在ACL的基础上使用CPython封装得到的Python API库,使用户可以通过Python进行昇腾 AI 处理器的运行管理、资源管理等。 + +而AscendCL提供Device管理、Context管理、Stream管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等C语言API库供用户开发深度神经网络应用,用于实现目标识别、图像分类等功能。 + +重要的基础概念: + +1. Host: Host指与Device相连接的X86服务器、ARM服务器,会利用Device提供的NN(Neural-Network )计算能力,完成业务。 + +2. Device:Device指安装了芯片的硬件设备,利用PCIe接口与Host侧连接,为Host提供NN计算能力。 + +3. Context:Context作为一个容器,管理了所有对象(包括Stream、Event、设备内存等)的生命周期。不同Context的Stream、不同Context的Event是完全隔离的,无法建立同步等待关系。 + +4. 动态Batch/动态分辨率:在某些场景下,模型每次输入的Batch数或分辨率是不固定的,如检测出目标后再执行目标识别网络,由于目标个数不固定导致目标识别网络输入BatchSize不固定。 + +基于AscendCL的开发流程如下: + +![image-20210901203311059](C:\Users\hwsc\AppData\Roaming\Typora\typora-user-images\image-20210901203311059.png) + +## 3. 模型转换 + +动态shape的模型转化可以直接与atc工具进行转化: + +```shell +/usr/local/Ascend/ascend-toolkit/latest/atc/bin/atc --model=${input_onnx_model} \ +--framework=5 --output=${output_name} --input_format=NCHW \ +--input_shape_range="actual_input_1:[1~6,3,224,224]" \ +--log=info --soc_version=Ascend310 +``` + +关键参数说明:`--input_shape_range`:可以设置动态shape的范围,如本例中的`1~6` + +## 4. 模型推理 + +动态shape模型的推理流程可以分为以下几个步骤: + +1. buffer申请:device侧的输入data buffer申请+host侧的输出dataset buffer申请; + +2. 输入数据搬运:host->device;data需要载入到dataset内,其中动态模型,输入需要通过`set_dataset_tensor_desc`添加动态描述 + +3. 启动模型推理 + +4. 输出数据搬运:device->host;根据输出shape大小得到最终输出的结果 + +5. 释放相关数据资源:包含data/dataset对象,释放内存等 + +关键代码示例: +buffer申请(data&&dataset): + +```python + def _gen_data_buffer(self, size, des, data=None): + # self.buffer_method: + # "in": acl.mdl.get_input_size_by_index, + # "out": acl.mdl.get_output_size_by_index, + # "outhost": acl.mdl.get_output_size_by_index + func = self.buffer_method[des] + for i in range(size): + if data is None: + temp_buffer_size = func(self.model_desc, i) + else: + if des == "in": + input_size = np.prod(np.array(data).shape) + # size * dtype.itemsize + temp_buffer_size = Net.gen_data_size(input_size, dtype=ACL_DTYPE.get(ACL_FLOAT32)) + elif des == "out": + batch_size = data[0].shape[0] + # 以当前的batchsize替换-1得到当前shape + out_shape = Net.fix_static_shape(self.out_shape, idx=0, value=batch_size) + out_size= np.prod(out_shape) + temp_buffer_size = Net.gen_data_size(out_size, dtype=ACL_DTYPE.get(ACL_FLOAT32)) + + temp_buffer, ret = acl.rt.malloc(temp_buffer_size, ACL_MEM_MALLOC_HUGE_FIRST) + check_ret("acl.rt.malloc", ret) + + if des == "in": + self.input_data.append({"buffer": temp_buffer, + "size": temp_buffer_size}) + elif des == "out": + self.output_data.append({"buffer": temp_buffer, + "size": temp_buffer_size}) +``` + +数据搬运: + +```python + # 数据拷贝 + def _data_interaction(self, dataset, policy=ACL_MEMCPY_HOST_TO_DEVICE): + temp_data_buffer = self.input_data \ + if policy == ACL_MEMCPY_HOST_TO_DEVICE \ + else self.output_data + + if len(dataset) == 0 and policy == ACL_MEMCPY_DEVICE_TO_HOST: + dataset = self.output_data_host + for i, item in enumerate(temp_data_buffer): + if policy == ACL_MEMCPY_HOST_TO_DEVICE: + ptr = acl.util.numpy_to_ptr(dataset[i]) + ret = acl.rt.memcpy(item["buffer"], item["size"], ptr, item["size"], policy) + check_ret("acl.rt.memcpy", ret) + + else: + ptr = dataset[i]["buffer"] + ret = acl.rt.memcpy(ptr, item["size"], item["buffer"], item["size"], policy) + check_ret("acl.rt.memcpy", ret) + + # 创建dataset对象,模型基于该对象进行后续推理 + # dataset实际存储的是一系列data对象 + def _gen_dataset(self, type_str="input", input_shapes=None): + dataset = acl.mdl.create_dataset() + temp_dataset = None + if type_str == "in": + self.load_input_dataset = dataset + temp_dataset = self.input_data + else: + self.load_output_dataset = dataset + temp_dataset = self.output_data + + for i, item in enumerate(temp_dataset): + data = acl.create_data_buffer(item["buffer"], item["size"]) + if data is None: + ret = acl.destroy_data_buffer(dataset) + check_ret("acl.destroy_data_buffer", ret) + + _, ret = acl.mdl.add_dataset_buffer(dataset, data) + if ret != ACL_ERROR_NONE: + ret = acl.destroy_data_buffer(dataset) + check_ret("acl.destroy_data_buffer", ret) + + # set dynamic dataset tensor desc + if type_str == "in": + input_shape = input_shapes[i] + input_desc = acl.create_tensor_desc(ACL_FLOAT32, input_shape, ACL_FORMAT_NCHW) + dataset, ret = acl.mdl.set_dataset_tensor_desc(dataset, input_desc, i) + if ret != ACL_ERROR_NONE: + ret = acl.destroy_data_buffer(dataset) + check_ret("acl.destroy_data_buffer", ret) + +``` + +数据释放: + +```python + # 销毁dataset/data对象:并不会释放内存,数据还在 + def _destroy_databuffer(self): + for dataset in [self.load_input_dataset, self.load_output_dataset]: + if not dataset: + continue + num = acl.mdl.get_dataset_num_buffers(dataset) + for i in range(num): + data_buf = acl.mdl.get_dataset_buffer(dataset, i) + if data_buf: + ret = acl.destroy_data_buffer(data_buf) + check_ret("acl.destroy_data_buffer", ret) + ret = acl.mdl.destroy_dataset(dataset) + check_ret("acl.mdl.destroy_dataset", ret) + + def _release_data_buffer(self): + while self.input_data: + item = self.input_data.pop() + ret = acl.rt.free(item["buffer"]) + check_ret("acl.rt.free", ret) + + while self.output_data: + item = self.output_data.pop() + ret = acl.rt.free(item["buffer"]) + check_ret("acl.rt.free", ret) + + while self.output_data_host: + item = self.output_data_host.pop() + ret = acl.rt.free_host(item["buffer"]) + check_ret("acl.rt.free_host", ret) +``` + + + +## 5. 参考资料 + +[CANN 5.0.2 应用软件开发指南 (Python, 推理)]([CANN 5.0.2 应用软件开发指南 (Python, 推理) 01 - 华为 (huawei.com)](https://support.huawei.com/enterprise/zh/doc/EDOC1100206683)) + -- Gitee From cffa12cedf4f2a73b48535a0f1e99ef1f321924f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=96=87=E9=92=A2?= Date: Mon, 6 Sep 2021 13:17:50 +0000 Subject: [PATCH 2/6] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/=E4=B8=93=E9=A2=98?= =?UTF-8?q?=E6=A1=88=E4=BE=8B/=E5=8A=9F=E8=83=BD=E6=89=93=E9=80=9A/?= =?UTF-8?q?=E5=8A=A8=E6=80=81Shape=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC(Res?= =?UTF-8?q?Net50).md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...46\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" index 0627586..95e9e6a 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" @@ -32,7 +32,7 @@ pyACL就是在ACL的基础上使用CPython封装得到的Python API库,使用 基于AscendCL的开发流程如下: -![image-20210901203311059](C:\Users\hwsc\AppData\Roaming\Typora\typora-user-images\image-20210901203311059.png) +![image-20210901203311059](./imgs/image-20210901203311059.png) ## 3. 模型转换 -- Gitee From aa39142510681eb237170dfc5bd46a704683486c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=96=87=E9=92=A2?= Date: Mon, 6 Sep 2021 13:18:03 +0000 Subject: [PATCH 3/6] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20imgs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" new file mode 100644 index 0000000..e69de29 -- Gitee From 9a685a8e46f9ec8acb2952614e5cc50a0ed33269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=96=87=E9=92=A2?= Date: Mon, 6 Sep 2021 13:18:18 +0000 Subject: [PATCH 4/6] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20Asce?= =?UTF-8?q?nd-PyTorch=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86=E6=8C=87?= =?UTF-8?q?=E5=AF=BC/=E4=B8=93=E9=A2=98=E6=A1=88=E4=BE=8B/=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=89=93=E9=80=9A/imgs/.keep?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/.keep" deleted file mode 100644 index e69de29..0000000 -- Gitee From b40622e0658e651a108c6cc7f9b4aba69b9ad428 Mon Sep 17 00:00:00 2001 From: zheng-wengang1 Date: Mon, 6 Sep 2021 21:22:52 +0800 Subject: [PATCH 5/6] =?UTF-8?q?add=20imgs=20for=20=E5=8A=A8=E6=80=81Shape?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC(ResNet50)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../imgs/image-20210901203311059.png" | Bin 0 -> 66753 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/image-20210901203311059.png" diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/image-20210901203311059.png" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/imgs/image-20210901203311059.png" new file mode 100644 index 0000000000000000000000000000000000000000..e0f6d222784b76b1244b11944c247c6f6654c02e GIT binary patch literal 66753 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 ak0^s`x+xv&{F`v#Aup{WRVHB+@P7bhe!_DA literal 0 HcmV?d00001 -- Gitee From cc9bf9cd536b8f295cfe08dbc3e07e823aa7d91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=96=87=E9=92=A2?= Date: Mon, 6 Sep 2021 13:25:12 +0000 Subject: [PATCH 6/6] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/=E4=B8=93=E9=A2=98?= =?UTF-8?q?=E6=A1=88=E4=BE=8B/=E5=8A=9F=E8=83=BD=E6=89=93=E9=80=9A/?= =?UTF-8?q?=E5=8A=A8=E6=80=81Shape=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC(Res?= =?UTF-8?q?Net50).md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...46\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" index 95e9e6a..b38240d 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/\344\270\223\351\242\230\346\241\210\344\276\213/\345\212\237\350\203\275\346\211\223\351\200\232/\345\212\250\346\200\201Shape\346\216\250\347\220\206\346\214\207\345\257\274(ResNet50).md" @@ -191,5 +191,5 @@ buffer申请(data&&dataset): ## 5. 参考资料 -[CANN 5.0.2 应用软件开发指南 (Python, 推理)]([CANN 5.0.2 应用软件开发指南 (Python, 推理) 01 - 华为 (huawei.com)](https://support.huawei.com/enterprise/zh/doc/EDOC1100206683)) +[CANN 5.0.2 应用软件开发指南 (Python, 推理)](https://support.huawei.com/enterprise/zh/doc/EDOC1100206683) -- Gitee