海思AI芯片(Hi3519A/3559A)方案学习(十)将yolov3的darknet模型转换为caffemodel

前言

海思35xx系列的nnie硬件引擎只支持caffe1.x模型。所以任何使用其它框架训练出来的算法模型想要在nnie上进行推理必须先要将其转换成caffemodel。

本文所讨论的平台是ubun18.0.4+cuda8.x+opencv3.4.3

caffe安装

1.下载代码

git clone git://github.com/BVLC/caffe.git

cd caffe/

cp Makefile.config.example Makefile.config

2.编辑Makefile.config

a、uncomment # USE_CUDNN := 1
b、uncomment # OPENCV_VERSION := 3

c、uncomment # WITH_PYTHON_LAYER := 1
d、删除CUDA_ARCH的两个值
:-gencode arch=compute_20,code=sm_20 \
     -gencode arch=compute_20,code=sm_21 \
e、增加HDF5文件引用路径,如下图红体字所示
INCLUDE_DIRS :=$(PYTHON_INCLUDE)/usr/local/include  /usr/include/hdf5/serial
LIBABRY_DIRS :=$(PYTHON_LIB) /usr/local/lib  /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

3、编译caffe框架代码

a、make all -j8

这时会遇到一个编译错误如下:

undefined reference cv::Mat::updateContinuityFlag() 这个是由于examle代码调用了一个当前版本opencv库并不存在的API

一个临时解决办法就是把使得该example代码不编译进去,即将examples/cpp_classification/classification.cpp  ---> classification.cpp1

b、make pycaffe -j8

支持caffe的python版本

4、验证安装正常与否

1) make runtest

这里面偶尔错1、2个test小程序可以不理会。

2)import caffe

会遇到两个错误:

a) no module named caffe

解决办法: vi ~/.bashrc 添加 export PYTHONPATH=/xx/xx/caffe/python:$PYTHONPATH  然后source ~/.bashrc

b) No module named skimage.io

解决办法:pip install scikit-image

5.update caffe框架来支持yolo3 darknet模型

因为官方caffe框架不支持yolo3的upsample层,所以需要手动增加upsample层

a)下载code from https://pan.baidu.com/s/13GpoYoqKSCeFX0m0ves_fQ#list/path=%2F。密码:bwrd

b)apply 下载的code到caffe框架里面,如下图所示

c)重新开始编译caffe

(1) make clean   (2) make all -j8   (3) make pycaffe -j8

转换yolo3 darknet模型成caffemodel

1)download tool project in https://github.com/ChenYingpeng/caffe-yolov3

2)cd xx/caffe-yolov3-master/model_convert/ and input such command as :

python yolov3_darknet2caffe.py yolov3xxx.cfg yolov3xxx.weights xxx.prototxt xxx.caffemodel

注意两个问题:

第一: vi yolov3-darknet2caffe.py and 根据自己的安装路径修改caffe_root值。

第二:下载https://github.com/marvis/pytorch-caffe-darknet-convert代码,并将cfg.py以及prototxt.py拷贝到xx/model_convert/

结论

至此,就可以产生caffe模型以及对应prototxt。 每个人的平台情况都或多或少差异化,所以你遇到的问题我可能没有碰到。此外,上面内容关键在于理解,不能生搬硬套,尤其是路径这块。

 

 

 

 

  • 17
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 148
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 148
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ltshan139

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值