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实现具体过程。
Hi3559AV100 NNIE开发(3)RuyiStudio软件 .wk文件生成过程-mobilefacenet.cfg的参数配置的更多相关文章
- Hi3559AV100 NNIE开发(5)mobilefacenet.wk仿真成功量化及与CNN_convert_bin_and_print_featuremap.py输出中间层数据对比过程
前面随笔给出了NNIE开发的基本知识,下面几篇随笔将着重于Mobilefacenet NNIE开发,实现mobilefacenet.wk的chip版本,并在Hi3559AV100上实现mobilefa ...
- Hi3559AV100 NNIE开发(7) Ruyistudio 输出mobileface_func.wk与板载运行mobileface_chip.wk输出中间层数据对比
前面随笔讲了关于NNIE的整个开发流程,并给出了Hi3559AV100 NNIE开发(5)mobilefacenet.wk仿真成功量化及与CNN_convert_bin_and_print_featu ...
- Hi3559AV100 NNIE开发(2)-RFCN(.wk)LoadModel及NNIE Init函数运行过程分析
之后随笔将更多笔墨着重于NNIE开发系列,下文是关于Hi3559AV100 NNIE开发(2)-RFCN(.wk)LoadModel及NNIE Init函数运行过程分析,通过对LoadModel函数及 ...
- Hi3559AV100 NNIE开发(4)mobilefacenet.cfg参数配置挖坑解决与SVP_NNIE_Cnn实现分析
前面随笔给出了NNIE开发的基本知识,下面几篇随笔将着重于Mobilefacenet NNIE开发,实现mobilefacenet.wk的chip版本,并在Hi3559AV100上实现mobilefa ...
- Hi3559AV100 NNIE开发(6)RFCN中NNIE实现关键线程函数->SAMPLE_SVP_NNIE_Rfcn_ViToVo()进行数据流分析
前面随笔给出了NNIE开发的基本知识,下面几篇随笔将着重于Mobilefacenet NNIE开发,实现mobilefacenet.wk的chip版本,并在Hi3559AV100上实现mobilefa ...
- 基于Hi3559AV100的SVP(NNIE)开发整体流程
在之后的hi3559AV100板载开发中,除了走通V4L2->VDEC->VPSS->VO(HDMI)输出,还有需要进行神经网络的开发学习,进行如face detection的开发等 ...
- Hi3559AV100 NNIE RFCN开发:V4L2->VDEC->VPSS->NNIE->VGS->VO系统整体动态调试实现
下面随笔将给出Hi3559AV100 NNIE RFCN开发:V4L2->VDEC->VPSS->NNIE->VGS->VO系统整体动态调试实现,最终的效果是:USB摄像 ...
- Hi3359AV100 NNIE开发(1)-RFCN demo LoadModel函数与参数解析
之后随笔将更多笔墨着重于NNIE开发系列,下文是关于Hi3359AV100 NNIE开发(1)-RFCN demo LoadModel函数与参数解析,通过对LoadModel函数的解析,能够很好理解. ...
- 工具武装的前端开发工程师 Mac 软件清单
Awesome Mac 这个仓库主要是收集非常好用的Mac应用程序.软件以及工具,主要面向开发者和设计师.有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章<工具武装的前端开发工程 ...
随机推荐
- PowerShell多任务
代码 foreach ($server in $servers) { $running = @(Get-Job | Where-Object { $_.State -eq 'Running' }) i ...
- word2vector论文笔记
背景 很多当前的NLP系统和技术都把单词像ont-hot一样当做原子性的一个概念去对待,单纯就是一个索引,无法表示词之间的相似性.原因就是往往一个简单的.鲁棒的.可观测的模型在海量数据集上的学习效果要 ...
- Netty(三)基于Bio和Netty 的简易版Tomcat
参考代码: https://github.com/FLGBetter/tomcat-rpc-demo
- 015.NET5_MVC_Razor局部视图
局部视图 1. 可以增加代码的重用性 如何定义? 1.添加一cshtml文件 2. 在页面中调用局部视图:@html.Partial("局部视图的名称") 问题:局部视图中不能访问 ...
- Free Video Player All In One
Free Video Player All In One VLC media player https://github.com/videolan/vlc VideoLAN https://www.v ...
- css variables & CSS 变量
css variables & CSS 变量 https://gist.github.com/xgqfrms-GitHub/5d022a13292c615d2730e84d909e1aba c ...
- ES6 进制字面量 All In One
ES6 进制字面量 All In One 二进制 & 八进制 & 字面量 https://developer.mozilla.org/en-US/docs/Web/JavaScript ...
- redis源码之SDS
1:SDS介绍 我们在redis中执行命令 set key name 的时候,key和name都是字符串类型,而且字符串(string)在redis中是会经常用到的类型,那redis是如何保存字符串的 ...
- 发布Jar包到maven中央仓库
什么是maven中央仓库 maven是java世界最流行的构建工具,构建内容囊括了一个java项目的整个生命周期.其中最重要的功能就是依赖管理,maven通过一个类似云的ftp站点统一管理所有java ...
- Javascript中的事件冒泡与捕获
事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数,useCapture:是否使用事件捕获,觉得有点模糊 Js事件流 页面的哪一部 ...