海思平台深度学习算法仿真使用RuyiStudio生成wk文件专栏

对于海思35xx上nnie配套的软件及工具链仅支持Caffe框架,且以Caffe-1.0版本为基础。因此若想在nnie硬件上进行推理的话,需先将模型转换为Caffe-1.0框架的模型(若模型直接由Caffe-1.0框架训练出来的话,忽略此步骤),然后由nnie配套软件工具nniemapper将转换后的模型生成nnie硬件能够识别的.wk文件。

ps:由于现在主流模型训练框架为:pytorch、tensorflow、Mxnet、darknet等,Caffe-1.0框架使用不多,因此大部分情况下的算法模型都需要进行转换。

这里讨论的是基于darknet训练出来的yolov3模型转换成caffemodel。

在data中可以看到配置文件(.cfg)分两种:func(function功能)和inst(instruction指令),分别代表功能级别的仿真配置与指令级别的仿真配置。功能级别的仿真,较简单,主要为功能的模拟,仿真耗时较少;指令级别的仿真,一定程度上等同于硬件NNIE上的模拟,仿真耗时较多。这两种级别仿真分别能够生成各自的.wk文件,能下载到硬件上运行的为指令级别仿真生成的.wk文件。

选中.cfg文件,右击openwith选择MapperConfigurationEditor

nniemapper的输入包括两个部分:

prototxt:caffe定义网络结构是用protobuf格式写的.prototxt文件

caffemodel:.Caffemodel是使用caffe框架训练网络时,最终生成一个二进制文件。里面存储了模型的参数包括权重和偏置等信息,还存储了整个训练网络的结构信息,即.prototxt信息(.Caffemodel文件包含有.prototxt)

这两个文件,都可以在工程data->detection->yolov3->model文件夹下找到,也可以自己手动生成。

(不少算法都是用预训练模型在自己数据上微调,即加载“caffemodel”作为网络初始参数取值,然后在此基础上更新。使用方式往往是:同时给定solver的prototxt文件,以及caffemodel权值文件,然后从solver创建网络,并从caffemodel读取网络权值的初值)

marked_prototxt:在加载nniemapper的两个输入文件和选择net_type后,RuyiStudio自动将加载的prototxt文件中nnie不支持的层修改为Custom层Proposal层,并生成一个标记后的prototxt文件。(对于yolov3而言,没有nnie不支持的层,因此加载的prototxt和marked_prototxt一样)

output_wk_name:生成的.wk文件的命名和保存位置。

batch_num:一次处理图片数,目前一次处理1张

spare_rate:稀疏率,进一步压缩模型,作用于全连接层(fullyconnectedlayers,FC),若值为0.5,则全连接层一半参数强制改为0,有负面作用:导致精度下降,影响准确度,一般不稀疏。

image_list:在做模型量化的时候,需要参考的一系列图片,这些图片应该能把要检测的目标类型覆盖,参考图片数量20-50张。

data_scale:值为1/255

.ini文件是仿真前的一个配置文件

1.是否需要层线性打印:使能后可以在指令仿真时输出caffe各层的中间线性结果

2.是否需要使用CUDA加速(若有GPU,安装CUDAv8.0以上版本能加快仿真速度)

3.是否需要指令的仿真

另外也有一种方式能够选择仿真类型:

4.是否需要性能仿真:若使能,必须使能指令仿真

在做模型转换或者仿真之前,需要注意的一点:选对SOCVersion

在.cfg和.ini都设置好,并保存后,开始点击按钮生成.wk文件

THE END
1.生成式AI:创造性智能的新纪元什么是生成式AI? 生成式AI是一种利用机器学习算法,特别是深度学习技术,来生成新的数据样本的人工智能。这些数据样本在统计上与训练数据相似,但又是独一无二的。这种技术的核心在于能够捕捉到数据的分布特征,并在此基础上创造出新的实例。 主要技术 生成对抗网络(GANs):由生成器和判别器组成,生成器产生数据,判别器https://blog.csdn.net/qq_56438516/article/details/141832237
2.生成式深度学习神经网络深度神经网络算法生成式深度学习神经网络 深度神经网络算法 Writed by changfei_lovelife~ 目录 1.卷积神经网络 2.深层卷积网络实例探究 第一部分 卷积神经网络 1.边缘检测器 原理:利用过滤器,与原图矩阵进行卷积计算,可实现垂直/水平边缘检测。 卷积运算:逐元素相乘,然后相加https://blog.51cto.com/u_13259/10358004
3.4机器学习算法面试八股【4】机器学习算法面试八股 51随机森林RF 通过对训练数据样本以及属性进行有放回的抽样(针对某一个属性随机选择样本)这里有两种,一种是每次都是有放回的采样,有些样本是重复的,组成和原始数据集样本个数一样的数据集;另外一种是不放回的抽样,抽取出大约60%的训练信息。由此生成一颗CART树,剩下的样本信息作为袋https://www.nowcoder.com/discuss/509759767431098368
4.python机器学习笔记:深入学习决策树算法原理1. 决策树学习算法主要由三部分构成 1.1 特征选择 特征选择是指从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准,从而衍生出不同的决策树算法。 1.2 决策树生成 根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长。树结构来https://www.flyai.com/article/622
5.博弈环境下的深度强化学习和传统的深度强化学习不同博弈环境下的深度学习需要通过与其他智能体或环境进行交互来生成数据。相比之下,传统的深度学习通常使用已标注的静态数据集进行训练。 2、增强学习算法 博弈环境下的深度学习通常使用增强学习算法来训练智能体。增强学习是一种通过与环境交互学习最优策略的方法。传统的深度学习通常使用监督学习算法。 https://wap.sciencenet.cn/home.php?mod=space&uid=40841&do=blog&id=1418525
6.基于机器学习的深基坑三维土层重建提出一种基于机器学习的土层重建方法,首先设计土层生成算法来进行土层训练数据集的数据增强。然后根据钻孔信息数据结构设计了预测模型特征编码方法,作为预测模型的标准输入,通过搭建卷积神经网络模型,对土层结构进行特征提取,形成土层预测模型。随后,利用预测模型对待预测地块中的离散格点进行土层属性预测,获得土层体数据。最后http://qks.cqu.edu.cn/html/cqdxzrcn/2021/5/20210515.htm
7.《自然》封面:人工智能掀起材料革命,将颠覆人类科研方式能见度但有一批材料科学家转换思路,使用计算机模型和机器学习算法生成海量假想的材料,建立数据库,从中筛选出值得合成的材料,再通过检索这些材料可能拥有的性质进行具体应用测试,比如将这种材料用作导体表现如何、用作绝缘体性能又如何、这种材料是否具有磁性、那种材料的抗压力是多少。https://www.thepaper.cn/newsDetail_forward_1466136
8.强化学习GAIL生成对抗模仿学习详解《Generativeadversarial( c , π ) (c,\pi) (c,π)为一个鞍点。 可得,不同的正则化函数 ψ \psi ψ构成不同的模仿学习算法,可以直接求解上式得到 ( c , π ) (c,\pi) (c,π)。 在本文中将会主要介绍三种不同的正则化函数:恒定正则化函数,示性正则化函数,生成对抗正则化函数(GA) https://cloud.tencent.com/developer/article/2152022
9.交换机如何实现自学习算法帧交换表的实现是通过自学习算法,自学习算法是在网络中主机间不断的通信中逐渐建立起来的。 自学习算法最重要的两点 1)主机发送出帧后交换机便将该MAC地址以及接口登记; 2)一个接口成功接收到帧,变将该接口和MAC地址登记 冗余环路可以提高以太网的可靠性,但是会造成网络环路,可以通过创建最小生成树的创建来避免网https://www.jianshu.com/p/ed03cf24b9b1