在ubuntu16.04环境下将Yolo-Fatest模型转换为Caffe模型

本文详述了如何在Ubuntu系统中,使用Anaconda创建新环境,并安装CPU版Caffe,包括依赖库的安装、编译与测试。之后,介绍了Darknet模型转换为Caffe模型的步骤,包括安装torch,转换命令及测试转换后的模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

根据qiuqiu大神的https://github.com/dog-qiuqiu/Yolo-Fastest下载了训练所需文件,根据[Windows+DarkNet实现YoloV4的检测及训练(GTX1660S)(二)]实现了自己模型的生成。(https://blog.youkuaiyun.com/playezio/article/details/106461330?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161715607016780271582189%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161715607016780271582189&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-106461330.pc_search_result_hbase_insert&utm_term=playezio)


那么,要将darknet模型移植到嵌入式上面,需要先将darknet模型转换为caffe模型。
在qiuqiu大神给出的教程中,步骤较为简略:
在这里插入图片描述
我将在下方进行详细描述。

一、新建环境

为了不与电脑中的其他环境产生冲突,在anaconda中新建包含caffe、python2.7、python-opencv的环境。

  1. 创建python2.7环境,命名为dk2caffe
conda create -n your_env_name python=X.X

在anaconda prompt中输入以上命令,等待安装完成,得到以下截图:
激活环境
在这里插入图片描述

  1. 安装python-opencv
pip install opencv-python==4.2.0.32
  1. 编译cpu版的caffe
    5.1 安装依赖项
    在终端命令下(按住ctrl+alt+t,打开终端)输入以下命令,一条一条的输,输完一条回车自动安装
    sudo apt-get install libprotobuf-dev
    sudo apt-get install libleveldb-dev
    sudo apt-get install libsnappy-dev
    sudo apt-get install libopencv-dev
    sudo apt-get install libhdf5-serial-dev
    sudo apt-get install protobuf-compiler
    sudo apt-get install –no-install-recommends libboost-all-dev
    5.2 安装基于CPU的依赖项
    5.2.1.先安装BLAS:
    sudo apt-get install libatlas-base-dev
    5.2.2.使用默认Python来建立pycaffe接口,安装:
    sudo apt-get install python-dev
    5.2.3.安装一些兼容性依赖库:
    sudo apt-get install libgflags-dev
    sudo apt-get install libgoogle-glog-dev
    sudo apt-get install liblmdb-dev
    5.3下载Caffe源码
    使用qiuqiu提供的源码包
    https://download.youkuaiyun.com/download/playezio/16292965
    如果需要Caffe的Python接口,切换到caffe下的python目录下,输入以下命令下载python依赖库(先安装pip):
    cd ./caffe/python
    sudo apt-get install python-pip
    然后一个一个安装python所需的计算包:
    sudo apt-get install -y python-numpy
    sudo apt-get install -y python-scipy
    sudo apt-get install -y python-matplotlib
    sudo apt-get install -y python-sklearn
    sudo apt-get install -y python-skimage
    sudo apt-get install -y python-h5py
    sudo apt-get install -y python-protobuf
    sudo apt-get install -y python-leveldb
    sudo apt-get install -y python-networkx
    sudo apt-get install -y python-nose
    sudo apt-get install -y python-pandas
    sudo apt-get install -y python-gflags
    sudo apt-get install python-cython
    5.4到Caffe文件夹中,拷贝一份Makefile.config.example并重命名成Makefile.config,修改该配置文件:
    cd
    cd ./caffe
    sudo cp Makefile.config.example Makefile.config
    gedit Makefile.config
    使用文本编辑器打开Makefile.config,因为这里没有配置GPU,所以去掉CPU_ONLY := 1前面
    的注释;(也就是去掉前面的#)由于Ubuntu16.04文件结构的变化,#Whatever else you find you needgoes here.处要改成下面这样:
    在这里插入图片描述
    修改numpy的安装目录,重新设置,需要把原本如下的内容:
    在这里插入图片描述
    修改为:
    在这里插入图片描述
    然后点击右上角保存,接下来编译:依次在终端中输入以下命令,每输一行回车:(编译需要等待一会)
    在这里插入图片描述
    如果所有测试都通过,则说明安装好了。
    在这里插入图片描述
    5.5测试
    测试Caffe的Python接口,切换到caffe/python文件目录下,记录下来当前路径(pwd),输入以下命令:pwd
    记录下当前路径,比如我的是:
    在这里插入图片描述
    然后输入
    sudo gedit /etc/profile
    然后将这句话
    export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH 添加到打开的文件里
    其中 path是前面pwd记录下的路径,为/home/qzf/py-ca/caffe/python
    然后点击右上角保存,再点击左上角关闭,也就是小插。
    然后接下来进入python环境测试
    在终端输入以下命令:
    python
    import caffe
    如果没有报错,则说明caffe——cpu版本安装成功
    在这里插入图片描述
    出现错误
    make clean
    make all -j8
    make pycaffe
    再次导入,安装缺少的包
    pip install scikit-image
    pip install protobuf
    成功
(caffe) qzf@ubuntu:~/py-ca/caffe$ python
Python 2.7.16 |Anaconda, Inc.| (default, Sep 24 2019, 21:51:30) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>> exit()

二、darknet2caffe

cd darknet2caffe/
  python darknet2caffe.py fastest2caffe/yolo-fatest.cfg fastest2caffe/yolo-fatest.weights fastest2caffe/yolo-fatest.prototxt fastest2caffe/yolo-fatest.caffemodel
  cp MobileNetV2-YOLOv3-Nano-voc.prototxt sample
  cp MobileNetV2-YOLOv3-Nano-voc.caffemodel sample
  cd sample
  python detector.py

第一步

python darknet2caffe.py fastest2caffe/yolo-fatest.cfg fastest2caffe/yolo-fatest.weights fastest2caffe/yolo-fatest.prototxt fastest2caffe/yolo-fatest.caffemodel

显示没有torch
安装cpu版本的torch
conda install pytorch-cpu torchvision-cpu -c pytorch
cp fastest2caffe/yolo-fatest.prototxt sample
cp fastest2caffe/yolo-fatest.caffemodel sample
python detector-fatest.py
出现错误,需要根据原有的cfg文件和生成的prototxt文件来修改检测脚本:
在这里插入图片描述
最后结果:
在这里插入图片描述

更新-----转换方式及命令
1.启动ubuntu系统
2.打开目录home/py-ca/MobileNet-Yolo/darknet2caffe/fastest2caffe
3.将要转换的权重及配置文件拷贝到目录中
3.返回上一级目录,右击 Open in Terminal
4. 在Terminal中输入 python darknet2caffe.py fastest2caffe/yolo-fatest-1203.cfg fastest2caffe/yolo-fatest-1203.weights fastest2caffe/yolo-fatest-1203.prototxt fastest2caffe/yolo-fatest-1203.caffemodel,回车执行
5. 会输出save prototxt to fastest2caffe/yolo-fatest-1203.prototxt
save caffemodel to fastest2caffe/yolo-fatest-1203.caffemodel
并保存相关文件到目录中
6. 测试生成的caffe模型,在sample文件夹下,使用命令python detector-fatest-54-1203.py,py文件中要替换新的文件名。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值