Hi3559AV100 NNIE开发(3)RuyiStudio软件 .wk文件生成过程-mobilefacenet.cfg的参数配置
之后随笔将更多笔墨着重于NNIE开发系列,下文是关于Hi3559AV100 NNIE开发(3)RuyiStudio软件 .wk文件生成过程-mobilefacenet.cfg的参数配置,目前项目需要对mobilefacenet网络进行.wk的开发,通过RuyiStudio创建工程(关于软件RuyiStudio的安装与配置看后期是否有时间,有时间就会出一篇随笔供大家参考),在工程下配置mobilefacenet.cfg文件,加载训练好的mobilefacenet.caffemodel与mobilefacenet.prototxt并进行mobilefacenet.wk的生成,其中重要的一环为mobilefacenet.cfg参数的配置,下面随笔将给出具体操作,首先给出整体需要配置的参数表:
1 [prototxt_file] 2 [caffemodel_file] 3 [batch_num] 4 [net_type] 5 [sparse_rate] 6 [compile_mode] 7 [is_simulation] 8 [log_level] 9 [instruction_name] 10 [RGB_order] 11 [data_scale] 12 [internal_stride] 13 [image_list] 14 [image_type] 15 [mean_file] 16 [norm_type]
下面给出一一说明:
(1)prototxt_file
1 layer { 2 name: "conv5 " 3 type: "Convolution" 4 bottom: "conv4" 5 top: "conv5_report" 6 convolution_param { 7 num_output: 256 8 kernel_size: 3 9 pad: 1 10 stride: 1 11 } 12 }
1 layer { 2 name: "conv5_hp" 3 type: "Convolution" 4 bottom: "conv4" 5 top: "conv5" 6 convolution_param { 7 num_output: 256 8 kernel_size: 3 9 pad: 1 10 stride: 1 11 } 12 }
1 layer { 2 bottom: "rpn_cls_score" 3 top: "rpn_cls_score_reshape" 4 name: "rpn_cls_score_reshape_cpu" 5 type: "Reshape" 6 reshape_param { 7 shape { 8 dim: 0 9 dim: 2 10 dim: -1 11 dim: 0 12 } 13 } 14 }
(2)caffemodel_file:
网络模型数据文件。
(3)[batch_num]
(4) [net_type]:
网络的类型。
(5) [sparse_rate] —>(取值0到1,默认0)
NNIE引擎采用了参数压缩技术以减少带宽占用,为了提高压缩率,可通对FC参数进稀疏处理。
用户通过sparse_rate数值指定多少比例的FC参数稀疏为0,例如配0.5,则FC参数有50%将被稀疏为0,由于数据变的稀疏,压缩模块会获得更好的压缩率。稀疏值越高,计算FC时所需参数带宽越低,但精度会有所下降。
(6) [compile_mode]
(7) [is_simulation]
(8) [log_level]
(9) [instruction_name]
(10) [RGB_order] —>取值范围:{RGB,BGR} default:BGR
(11) [data_scale]
(12) [internal_stride]
(13) [image_list]
NNIE mapper 用于数据量化的参考图像 list 文件或feature map 文件。该配置跟 image_type 相关。如果网络的数据输入是灰度或者 RGB 图像输入,即image_type 配置不为 0,image_list 配置为所参考图片的list,内容示意图如下图图示,图片的格式支持以下几种:
(14) [image_type]
表示网络实际执行时输入给网络的数据类型,该配置跟 image list 相关。
0∶表示网络数据输入为 SVP BLOB_TYPE_S32(参考《HiSVP API参考》)或者向量的类型(VEC_S32和 SEQ S32);此时要求 image list 配 置为 feature map 文件;
1∶ 表示网络数据输入为 SVP BLOB TYPE U8(普通的灰度图和 RGB 图)类型; 此时要求 image_list 配置是 RGB 图或者灰度图片的 list 文件;
3∶ 网络数据输入为 SVP_ BLOB_TYPE YUV420SP类型;
5∶ 网络数据输入为SVP_BLOB_TYPE YUV422SP类型;
当配置为3或者5时,image_list配置为 RGB图片的 list 文件。
(15) [mean_file]
(16)[norm_type]
表示对网络数据输入的预处理方法。注意image_type配置为0时,norm_type只能配置为0;image_type配置为3或者5时,网络输入数据为YUV图像,但是NNIE硬件会根据RGB_order配置项自动转为RGB或者BGR图像,此时norm_type配置方法跟image_type为1时一致。
1 [prototxt_file] ./mark_prototxt/mobilefacenet_mark_nnie_20210205133124.prototxt 2 [caffemodel_file] ./data/mobilefacenet.prototxt.caffemodel 3 [batch_num] 256 4 [net_type] 0 5 [sparse_rate] 0 6 [compile_mode] 0 7 [is_simulation] 1 8 [log_level] 3 9 [instruction_name] ./mobileface_func 10 [RGB_order] BGR 11 [data_scale] 0.0078125 12 [internal_stride] 16 13 [image_list] ./data/images/imageList.txt 14 [image_type] 1 15 [mean_file] ./data/pixel_mean.txt 16 [norm_type] 5
后面随笔将给出mobilefacenet网络的NNIE实现具体过程。