ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

darknet yolov3 yolov4转caffe 教程

2021-10-30 23:30:27  阅读:285  来源: 互联网

标签:layer yolov4 22 mish darknet upsample caffe cpp


在目标检测任务中,我们常使用yolov3, yolov4作为目标检测模型,在实际部署工作中,我们很多边缘设备需要把模型转换成caffe。在次记录下转换过程。
  我们需要在caffe框架中,添加所需要的层。这个转换工具可以参考github上一位大佬项目:

git clone https://github.com/ChenYingpeng/darknet2caffe.git

把大佬mish_layer文件中的mish_layer.hpp和upsample_layer文件中的upsample_layer.hpp复制到安装caffe目录下的include/caffe/layers/文件夹中。

├── mish_layer
│   ├── mish_layer.cpp
│   ├── mish_layer.cu
│   └── mish_layer.hpp
├── pooling_layer
│   └── pooling_layer.cpp
└── upsample_layer
    ├── upsample_layer.cpp
    ├── upsample_layer.cu
    └── upsample_layer.hpp

把大佬mish_layer文件中的mish_layer.cpp、mish_layer.cu 和 upsample_layer文件中的
upsample_layer.cpp、upsample_layer.cu复制到caffe目录下的/src/caffe/layers/文件夹中。
最后在caffe目录下的/src/caffe/proto/caffe.proto。打开这个文件,添加以下内容:
在423行下面添加:

optional UpsampleParameter upsample_param = 149;
optional MishParameter mish_param = 150;

在这里插入图片描述

在最后一行下添加如下内容:

message UpsampleParameter{

optional int32 scale = 1 [default = 1];

}

message MishParameter {
  enum Engine {
    DEFAULT = 0;
    CAFFE = 1;
    CUDNN = 2;
  }
  optional Engine engine = 2 [default = DEFAULT];
}

在这里插入图片描述
然后我们重新编译一下caffe,在caffe/build目录下

sudo make clean
sudo make all -j8
sudo make pycaffe -j8

最后执行转换命令

python3 darknet2caffe.py

打印信息如下

I1030 22:34:06.650609  7437 net.cpp:202] layer1-conv does not need backward computation.
I1030 22:34:06.650612  7437 net.cpp:202] input does not need backward computation.
I1030 22:34:06.650614  7437 net.cpp:244] This network produces output layer139-conv
I1030 22:34:06.650619  7437 net.cpp:244] This network produces output layer150-conv
I1030 22:34:06.650621  7437 net.cpp:244] This network produces output layer161-conv
I1030 22:34:06.650758  7437 net.cpp:257] Network initialization done.
unknow layer type yolo 
unknow layer type yolo 
save prototxt to ./yolov4.protofile
save caffemodel to ./yolov4.caffemode

在这里插入图片描述
在这里插入图片描述

标签:layer,yolov4,22,mish,darknet,upsample,caffe,cpp
来源: https://blog.csdn.net/qq_43318374/article/details/121058146

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有