darknet yolov3 yolov4转caffe 教程

在目标检测任务中,我们常使用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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值