11bd4fe43Sopenharmony_ci### 4.2.4.检测网
21bd4fe43Sopenharmony_ci
31bd4fe43Sopenharmony_ci检测网作为人工智能训练的常用网络,NNIE支持的检测网有FasterRcnn、SSD、Yolov1、Yolov2、Yolov3、RFCN等,本文采用darknet框架,以Yolov2网络为例,来对检测网进行阐述。
41bd4fe43Sopenharmony_ci
51bd4fe43Sopenharmony_ci#### 4.2.4.1 数据集制作和标注
61bd4fe43Sopenharmony_ci
71bd4fe43Sopenharmony_ci数据集制作可以采用开源的数据或者自研数据集,若采用自研数据集,视频录制的方法、数据集的制作请参考[《分类网》的4.2.3.2章](4.2.3.%E5%88%86%E7%B1%BB%E7%BD%91.md#4232-%E8%A7%86%E9%A2%91%E5%BD%95%E5%88%B6)节和[《分类网》的4.2.3.3章节](4.2.3.%E5%88%86%E7%B1%BB%E7%BD%91.md#4233-%E6%95%B0%E6%8D%AE%E9%9B%86%E5%88%B6%E4%BD%9C%E5%92%8C%E6%A0%87%E6%B3%A8)的内容,这里不再赘述。
81bd4fe43Sopenharmony_ci
91bd4fe43Sopenharmony_ci* 本文公开数据集为例,讲述如何进行检测网的数据集制作和标注,具体步骤请参考《[hand_dataset开源数据集的处理及标注](https://blog.csdn.net/Wu_GuiMing/article/details/123718854)》。
101bd4fe43Sopenharmony_ci
111bd4fe43Sopenharmony_ci* 若是自己的数据集,可通过**labelme**开源工具进行标注,将标注生成的.json格式或者其他格式通过脚本转成dartnet框架支持的数据集标注方式,进行训练即可,该方式参考开源代码自行实现即可。
121bd4fe43Sopenharmony_ci
131bd4fe43Sopenharmony_ci#### 4.2.4.2 本地模型训练
141bd4fe43Sopenharmony_ci
151bd4fe43Sopenharmony_ci**(1)训练环境搭建**
161bd4fe43Sopenharmony_ci
171bd4fe43Sopenharmony_ci使用目前较为流行的yolo检测框架,其训练环境名为darknet。下载地址为https://github.com/pjreddie/darknet
181bd4fe43Sopenharmony_ci
191bd4fe43Sopenharmony_ci如果需要使用cuda、opencv,可以在Makefile中勾选,前提是环境中已经配置好。若需要使用NIVIDIA显卡驱动,需要装好NIVIDIA显卡驱动,并按照跟显卡类型相匹配的CUDA和CUDNN,如果仅仅需要cpu,且不需要使用opencv,可以直接编译,若使用CUDA,操作步骤如下图所示:
201bd4fe43Sopenharmony_ci
211bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/040catmakefile.png)
221bd4fe43Sopenharmony_ci
231bd4fe43Sopenharmony_cicd darknet-master目录下,make即可,如下图所示:
241bd4fe43Sopenharmony_ci
251bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/041darknetmake.png)
261bd4fe43Sopenharmony_ci
271bd4fe43Sopenharmony_ci编译成功后,即可生成相应的库文件,如下图所示:
281bd4fe43Sopenharmony_ci
291bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/042%E6%89%A7%E8%A1%8C%E6%88%90%E5%8A%9F.png)
301bd4fe43Sopenharmony_ci
311bd4fe43Sopenharmony_ci**(2)模型训练**
321bd4fe43Sopenharmony_ci
331bd4fe43Sopenharmony_ci* 训练指令如下:
341bd4fe43Sopenharmony_ci
351bd4fe43Sopenharmony_ci````sh
361bd4fe43Sopenharmony_ci./darknet detector train hand.data cfg/resnet18.cfg
371bd4fe43Sopenharmony_ci````
381bd4fe43Sopenharmony_ci
391bd4fe43Sopenharmony_ci* 针对上述指令进行解读:
401bd4fe43Sopenharmony_ci  * darknet为可执行文件
411bd4fe43Sopenharmony_ci  * detector为必选参数,直接沿用即可
421bd4fe43Sopenharmony_ci  * train指定当前模式为训练模式,测试时候需要改成test或者valid。
431bd4fe43Sopenharmony_ci  * hand.data是一个文件,文件中指定了训练中数据、类别、模型存储路径等信息。
441bd4fe43Sopenharmony_ci  * resnet18.cfg是一个文件,文件中指定了训练的模型。
451bd4fe43Sopenharmony_ci  * -gpus指定使用GPU的序号。
461bd4fe43Sopenharmony_ci
471bd4fe43Sopenharmony_ci* 接下来针对hand.data进行讲解,如下图所示:
481bd4fe43Sopenharmony_ci
491bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/043handdata%E8%AE%B2%E8%A7%A3.png)
501bd4fe43Sopenharmony_ci
511bd4fe43Sopenharmony_ci* 分析上图,其中:
521bd4fe43Sopenharmony_ci
531bd4fe43Sopenharmony_ci  * classes:为指定类别数量,手部检测模型为1,其他模型需根据实际场景进行填写
541bd4fe43Sopenharmony_ci  * train:指定训练数据list的路径
551bd4fe43Sopenharmony_ci  * valid:指定测试数据list的路径
561bd4fe43Sopenharmony_ci  * names:指定类别的名字
571bd4fe43Sopenharmony_ci  * backup:指定训练后权重的保存路径
581bd4fe43Sopenharmony_ci
591bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/043handdata%E8%AE%B2%E8%A7%A3.png)
601bd4fe43Sopenharmony_ci
611bd4fe43Sopenharmony_ci* 对hand.names进行讲解,如下图所示:
621bd4fe43Sopenharmony_ci
631bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/044handnames%E8%AE%B2%E8%A7%A3.png)
641bd4fe43Sopenharmony_ci
651bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/045handnames%E5%86%85%E5%AE%B9.png)
661bd4fe43Sopenharmony_ci
671bd4fe43Sopenharmony_ci* 上述文件配置好后,放到darknet-master目录下,如下图所示:
681bd4fe43Sopenharmony_ci
691bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/046handdata.png)
701bd4fe43Sopenharmony_ci
711bd4fe43Sopenharmony_ci* 将/cfg目录下的resnet18.cfg按照如下方式进行修改,具体修改方式参考附录[yolov2 resnet18.cfg网络](./6.1.yolov2%20resnet18.cfg%E7%BD%91%E7%BB%9C.md)。
721bd4fe43Sopenharmony_ci
731bd4fe43Sopenharmony_ci* 上述步骤修改完成后,输入./darknet detector train hand.data cfg/resnet18.cfg即可进行训练。
741bd4fe43Sopenharmony_ci
751bd4fe43Sopenharmony_ci**注:以上训练指令路径需在Linux环境下进行修改,并确保resnet18.cfg已经参考[yolov2 resnet18.cfg网络](./6.1.yolov2%20resnet18.cfg%E7%BD%91%E7%BB%9C.md)修改正确。可参考 https://netron.app/ 查看网络结构和参数,部分网络结构截图如下图所示:**
761bd4fe43Sopenharmony_ci
771bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/047%E7%BD%91%E7%BB%9C%E7%BB%93%E6%9E%84.png)
781bd4fe43Sopenharmony_ci
791bd4fe43Sopenharmony_ci* 接下来输入下面的命令,即可开始训练,如下图所示:
801bd4fe43Sopenharmony_ci
811bd4fe43Sopenharmony_ci```
821bd4fe43Sopenharmony_ci./darknet detector train hand.data cfg/resnet18.cfg
831bd4fe43Sopenharmony_ci```
841bd4fe43Sopenharmony_ci
851bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/048%E8%AE%AD%E7%BB%83%E5%91%BD%E4%BB%A4.png)
861bd4fe43Sopenharmony_ci
871bd4fe43Sopenharmony_ci* 训练过程如下图所示:
881bd4fe43Sopenharmony_ci
891bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/049%E8%AE%AD%E7%BB%83%E8%BF%87%E7%A8%8B.png)
901bd4fe43Sopenharmony_ci
911bd4fe43Sopenharmony_ci* 对终端输出的一个截图做如下解释:
921bd4fe43Sopenharmony_ci
931bd4fe43Sopenharmony_ci  * Region Avg IOU:表示当前的subdivision内图片的平均IOU,代表预测的矩形框和真实目标的交集与并集之比,若为100%,表示我们已经拥有了完美的检测,即我们的矩形框跟目标完美重合,若为其他值较小值,表示这个模型需要进一步训练。
941bd4fe43Sopenharmony_ci
951bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/050IOU.png)
961bd4fe43Sopenharmony_ci
971bd4fe43Sopenharmony_ci  * Class:标注物体分类的正确率,期望该值趋近于1。
981bd4fe43Sopenharmony_ci  * Obj:越接近1越好。
991bd4fe43Sopenharmony_ci  * No Obj:期望该值越来越小,但不为零。
1001bd4fe43Sopenharmony_ci  * Avg Recall:在recall/count中定义的,是当前模型在所有subdivision图片中检测出的正样本与实际的正样本的比值。
1011bd4fe43Sopenharmony_ci  * count:count后的值是所有的当前subdivision图片中包含正样本的图片的数量。
1021bd4fe43Sopenharmony_ci
1031bd4fe43Sopenharmony_ci由于检测网训练时间较长,请耐心等待。
1041bd4fe43Sopenharmony_ci
1051bd4fe43Sopenharmony_ci**(3)模型结果**
1061bd4fe43Sopenharmony_ci
1071bd4fe43Sopenharmony_ci训练成功后,即可在/backup目录下查看.weights文件,若出现resnet18_new_final.weights表示最终训练完成,如下图所示:
1081bd4fe43Sopenharmony_ci
1091bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/051%E8%AE%AD%E7%BB%83%E7%BB%93%E6%9D%9F.png)
1101bd4fe43Sopenharmony_ci
1111bd4fe43Sopenharmony_ci#### 4.2.4.3 Darknet模型转caffe方案
1121bd4fe43Sopenharmony_ci
1131bd4fe43Sopenharmony_ci##### 4.2.4.3.1 Caffe环境搭建
1141bd4fe43Sopenharmony_ci
1151bd4fe43Sopenharmony_ci关于Caffe环境的搭建,请参考[2.4、Caffe环境搭建](2.4.Caffe环境搭建.md)章节,这里不再论述。
1161bd4fe43Sopenharmony_ci
1171bd4fe43Sopenharmony_ci##### 4.2.4.3.2 Darknet2caffe模型转换
1181bd4fe43Sopenharmony_ci
1191bd4fe43Sopenharmony_ci* 步骤1:在Ubuntu系统下,分步执行下面的命令,安装编译darknet2caffe时需要的torch环境
1201bd4fe43Sopenharmony_ci
1211bd4fe43Sopenharmony_ci```
1221bd4fe43Sopenharmony_cipip3 install torchvision==0.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
1231bd4fe43Sopenharmony_cipip3 install torch==1.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
1241bd4fe43Sopenharmony_ci```
1251bd4fe43Sopenharmony_ci
1261bd4fe43Sopenharmony_ci* 步骤2:执行下面的命令,下载darknet2caffe的代码到Ubuntu系统的code目录下
1271bd4fe43Sopenharmony_ci
1281bd4fe43Sopenharmony_ci```
1291bd4fe43Sopenharmony_cicd code
1301bd4fe43Sopenharmony_cigit clone https://github.com/ChenYingpeng/darknet2caffe
1311bd4fe43Sopenharmony_ci```
1321bd4fe43Sopenharmony_ci
1331bd4fe43Sopenharmony_ci* 步骤3:由于python的本地版本是python3.6,开源代码为 python2.X,因此需要对代码语法做适当调整
1341bd4fe43Sopenharmony_ci
1351bd4fe43Sopenharmony_ci  * 将 darknet2caffe.py 中的**所有的** if block.has_key('name'):替换成 if 'name' in block:
1361bd4fe43Sopenharmony_ci
1371bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/052%E6%9B%BF%E6%8D%A2name.png)
1381bd4fe43Sopenharmony_ci
1391bd4fe43Sopenharmony_ci  * 再将caffe_root修改为caffe的实际的绝对路径,如:/home/hispark/code/caffe/
1401bd4fe43Sopenharmony_ci
1411bd4fe43Sopenharmony_ci  ```sh
1421bd4fe43Sopenharmony_ci  # 将
1431bd4fe43Sopenharmony_ci  caffe_root='/home/chen/caffe/'
1441bd4fe43Sopenharmony_ci  # 改为
1451bd4fe43Sopenharmony_ci  caffe_root='/home/hispark/code/caffe/'  # /home/hispark/code/caffe/是本地caffe的路径
1461bd4fe43Sopenharmony_ci  ```
1471bd4fe43Sopenharmony_ci
1481bd4fe43Sopenharmony_ci  * 将prototxt.py 按照如下方式进行修改,适配python3版本的print。
1491bd4fe43Sopenharmony_ci
1501bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/053%E6%9B%BF%E6%8D%A2print.png)
1511bd4fe43Sopenharmony_ci
1521bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/054%E6%9B%BF%E6%8D%A2print2.png)
1531bd4fe43Sopenharmony_ci
1541bd4fe43Sopenharmony_ci  修改后的protxt.py如附录[修改后的darknet2caffe 中prototxt.py代码](./6.3.%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84darknet2caffe%20%E4%B8%ADprototxt.py%E4%BB%A3%E7%A0%81.md)所示:
1551bd4fe43Sopenharmony_ci
1561bd4fe43Sopenharmony_ci  **注:请通过对比工具仔细核对源码和附录[修改后的darknet2caffe 中prototxt.py代码](./6.3.%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84darknet2caffe%20%E4%B8%ADprototxt.py%E4%BB%A3%E7%A0%81.md)中的更改点,这里不逐一列举。**
1571bd4fe43Sopenharmony_ci
1581bd4fe43Sopenharmony_ci  * l 进入darknet2caffe目录,执行下面的命令,将三个文件拷贝到caffe目录下
1591bd4fe43Sopenharmony_ci
1601bd4fe43Sopenharmony_ci  ```sh
1611bd4fe43Sopenharmony_ci  cp caffe_layers/upsample_layer/upsample_layer.hpp  ../caffe/include/caffe/layers/
1621bd4fe43Sopenharmony_ci  cp caffe_layers/upsample_layer/upsample_layer.c*  ../caffe/src/caffe/layers/
1631bd4fe43Sopenharmony_ci  ```
1641bd4fe43Sopenharmony_ci
1651bd4fe43Sopenharmony_ci  * 进入caffe的 src/caffe/proto/目录下,修改caffe.proto文件
1661bd4fe43Sopenharmony_ci
1671bd4fe43Sopenharmony_ci  ```sh
1681bd4fe43Sopenharmony_ci  cd ../caffe/src/caffe/proto/
1691bd4fe43Sopenharmony_ci  ```
1701bd4fe43Sopenharmony_ci
1711bd4fe43Sopenharmony_ci  * 在 message LayerParameter {}中新增 optional UpsampleParameter upsample_param = 150;
1721bd4fe43Sopenharmony_ci
1731bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/055%E6%96%B0%E5%A2%9ELayerParameter.png)
1741bd4fe43Sopenharmony_ci
1751bd4fe43Sopenharmony_ci  * 在caffe.proto最后添加UpsampleParameter参数,如下图所示:
1761bd4fe43Sopenharmony_ci
1771bd4fe43Sopenharmony_ci  ```python
1781bd4fe43Sopenharmony_ci  message UpsampleParameter {
1791bd4fe43Sopenharmony_ci           optional int32 scale = 1 [default = 1];
1801bd4fe43Sopenharmony_ci  }
1811bd4fe43Sopenharmony_ci  ```
1821bd4fe43Sopenharmony_ci
1831bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/056%E6%96%B0%E5%A2%9EUpsampleParameter.png)
1841bd4fe43Sopenharmony_ci
1851bd4fe43Sopenharmony_ci  * l 在caffe目录下,执行下面的命名,重新编译caffe环境,命令如下。
1861bd4fe43Sopenharmony_ci
1871bd4fe43Sopenharmony_ci  ```
1881bd4fe43Sopenharmony_ci  make clean
1891bd4fe43Sopenharmony_ci  make -j4
1901bd4fe43Sopenharmony_ci  make pycaffe
1911bd4fe43Sopenharmony_ci  ```
1921bd4fe43Sopenharmony_ci
1931bd4fe43Sopenharmony_ci  若无任何报错,证明darknet2caffe环境和代码已经适配成功。
1941bd4fe43Sopenharmony_ci
1951bd4fe43Sopenharmony_ci* 步骤3:模型转换
1961bd4fe43Sopenharmony_ci
1971bd4fe43Sopenharmony_ci  * 将训练生成的文件存放到darknet2caffe目录下,如:resnet18_new_final.weights
1981bd4fe43Sopenharmony_ci
1991bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/057%E5%B0%86%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%94%BE%E5%85%A5Ubuntu.png)
2001bd4fe43Sopenharmony_ci
2011bd4fe43Sopenharmony_ci  * 在Ubuntu系统的darknet2caffe目录下,执行下面的命令,创建一个resnet18.cfg文件,将本文附《[6.1.yolov2 resnet18.cfg网络.md](./6.1.yolov2 resnet18.cfg网络.md)》中的内容都复制到resnet18.cfg文件中。
2021bd4fe43Sopenharmony_ci
2031bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/058%E5%B0%86%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%94%BE%E5%85%A5Ubuntu.png)
2041bd4fe43Sopenharmony_ci
2051bd4fe43Sopenharmony_ci  * 执行下面的命令,将darknet模型转换为caffe模型。
2061bd4fe43Sopenharmony_ci
2071bd4fe43Sopenharmony_ci  ```sh
2081bd4fe43Sopenharmony_ci  # 转换命令遵循:
2091bd4fe43Sopenharmony_ci  python cfg[in] weights[in] prototxt[out] caffemodel[out]
2101bd4fe43Sopenharmony_ci  # 本文转换命令如下:
2111bd4fe43Sopenharmony_ci  python3.6 darknet2caffe.py resnet18.cfg resnet18_new_final.weights resnet18.prototxt resnet18.caffemodel
2121bd4fe43Sopenharmony_ci  ```
2131bd4fe43Sopenharmony_ci
2141bd4fe43Sopenharmony_ci  如下图所示:
2151bd4fe43Sopenharmony_ci
2161bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/059%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4%E8%BF%9B%E8%A1%8C%E6%A8%A1%E5%9E%8B%E8%BD%AC%E6%8D%A2.png)
2171bd4fe43Sopenharmony_ci
2181bd4fe43Sopenharmony_ci  * 当转换成功后,会在darknet2caffe目录生成一个resnet18.caffemodel和一个resnet18.prototxt文件,如下图所示。
2191bd4fe43Sopenharmony_ci
2201bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/060%E6%A8%A1%E5%9E%8B%E8%BD%AC%E6%8D%A2%E6%88%90%E5%8A%9F.png)
2211bd4fe43Sopenharmony_ci
2221bd4fe43Sopenharmony_ci  ![](./figures/hispark_taurus_nnie_sample/061%E5%BE%97%E5%88%B0caffemodel.png)
2231bd4fe43Sopenharmony_ci
2241bd4fe43Sopenharmony_ci#### 4.2.4.4 模型量化
2251bd4fe43Sopenharmony_ci
2261bd4fe43Sopenharmony_ci**注:nnie_mapper配置概念请阅读源码的device/soc/hisilicon/hi3516dv300/sdk_linux/sample/doc中《HiSVP 开发指南.pdf》3.5.2章节配置文件说明**
2271bd4fe43Sopenharmony_ci
2281bd4fe43Sopenharmony_ci* 由于yolo2网络的最后一层需要通过AI CPU推理,转换之前,需要手工将其删除,如下图所示:
2291bd4fe43Sopenharmony_ci
2301bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/062%E5%88%A0%E9%99%A4layer%E5%B1%82.png)
2311bd4fe43Sopenharmony_ci
2321bd4fe43Sopenharmony_ci* 接下来通过RuyiStudio进行模型的量化,首先新建一个NNIE工程,点击File-New-NNIE Project,如下图所示:
2331bd4fe43Sopenharmony_ci
2341bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/063%E6%96%B0%E5%BB%BANNIE%E5%B7%A5%E7%A8%8B.png)
2351bd4fe43Sopenharmony_ci
2361bd4fe43Sopenharmony_ci* 输入Project name,选择SOC Version为Hi3516DV300,如下图所示:
2371bd4fe43Sopenharmony_ci
2381bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/064%E8%BE%93%E5%85%A5Projectname.png)
2391bd4fe43Sopenharmony_ci
2401bd4fe43Sopenharmony_ci* 点击Next,其余按照默认配置即可,创建成功后,如下图所示:
2411bd4fe43Sopenharmony_ci
2421bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/065NNIEproject%E5%88%9B%E5%BB%BA%E6%88%90%E5%8A%9F.png)
2431bd4fe43Sopenharmony_ci
2441bd4fe43Sopenharmony_ci* 通过RuyiStudio进行模型转化,配置文件如下图所示:
2451bd4fe43Sopenharmony_ci
2461bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/066%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png)
2471bd4fe43Sopenharmony_ci
2481bd4fe43Sopenharmony_ci注:关于模型量化imageList.txt制作,请仔细参考4.2.3.7章节内容
2491bd4fe43Sopenharmony_ci
2501bd4fe43Sopenharmony_ci其中:本模型image_type为YVU420SP,RGB_order为RGB,norm_type选择data_scale
2511bd4fe43Sopenharmony_ci
2521bd4fe43Sopenharmony_cidata_scale = 1/255=0.0039215686274509803921568627451
2531bd4fe43Sopenharmony_ci
2541bd4fe43Sopenharmony_ci点击转换按钮,稍等片刻,即可完成转换,如下图所示:
2551bd4fe43Sopenharmony_ci
2561bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/067%E5%BC%80%E5%A7%8B%E8%BD%AC%E6%8D%A2.png)
2571bd4fe43Sopenharmony_ci
2581bd4fe43Sopenharmony_ci转换成功后,如下图所示:
2591bd4fe43Sopenharmony_ci
2601bd4fe43Sopenharmony_ci![](./figures/hispark_taurus_nnie_sample/068%E8%BD%AC%E6%8D%A2%E6%88%90%E5%8A%9F.png)
2611bd4fe43Sopenharmony_ci
2621bd4fe43Sopenharmony_ci#### 4.2.4.5 模型部署板端和调试
2631bd4fe43Sopenharmony_ci
2641bd4fe43Sopenharmony_ci* [检测网部署及板端推理](4.2.4.5.%E6%A3%80%E6%B5%8B%E7%BD%91%E9%83%A8%E7%BD%B2%E5%8F%8A%E6%9D%BF%E7%AB%AF%E6%8E%A8%E7%90%86.md)
2651bd4fe43Sopenharmony_ci
2661bd4fe43Sopenharmony_ci
2671bd4fe43Sopenharmony_ci
2681bd4fe43Sopenharmony_ci
2691bd4fe43Sopenharmony_ci
2701bd4fe43Sopenharmony_ci
2711bd4fe43Sopenharmony_ci
272