yolov2到caffe的移植主要分两个步骤:
一、cfg,weights转换为prototxt,caffemodel
1.下载源码:
git clone https://github.com/marvis/pytorch-caffe-darknet-convert.git

2.安装pytorch,使用conda指令:(需要有torch模块)
conda install pytorch torchvision cuda80 -c soumith [这里cuda换成自己对应的版本]

3.cd pytorch-caffe-darknet-conver目录
输入命令:python darknet2caffe cfg/*.cfg cfg/*.weights cfg/*.prototxt cfg/*.caffemodel
注意:这里如果cfg文件中存在route层,则需要修改其对应部分。(这里只针对route层存在2个参数的情况)
[
        elif block['type'] == 'route':
            #pdb.set_trace()
            prev_layer_id1 = layer_id + int(block['layers'][:2])
            prev_layer_id2 = layer_id + int(block['layers'][-2:])
            bottom1 = topnames[prev_layer_id1]
            bottom2 = topnames[prev_layer_id2]
            route_layer = OrderedDict()
            route_layer['bottom'] = [bottom1, bottom2]
            if block.has_key('name'):
                route_layer['top'] = block['name']
                route_layer['name'] = block['name']
            else:
                route_layer['top'] = 'layer%d-route' % layer_id
                route_layer['name'] = 'layer%d-route' % layer_id
            route_layer['type'] = 'Concat'
            layers.append(route_layer)
            bottom = route_layer['top']
            topnames[layer_id] = bottom
            layer_id = layer_id + 1
]

如此便得到相应的prototxt文件和caffemodel文件

二、caffe实现darknet的训练
1.下载caffe-yolov2源码:
git clone https://github.com/gklz1982/caffe-yolov2.git

2.对caffe-yolov2进行编译,编译方式同编译caffe一致

3.将自己的VOC格式数据拷贝至./data/yolo/VOCdevkit下
(1) python get_list.py -- 获得相应的trainval.txt和test_2007.txt
(2) sh convert.sh -- 生成需要训练的lmdb格式数据(需要修改convert.sh的内部参数)
(3) 修改label_map.txt文件

4.修改prototxt等相关文件,开始训练
(1) cd ./examples/yolo
(2) mkdir dense-yolo_v1
(3) 将根据cfg和weights生成的prototxt以及caffemodel文件拷贝至dense-yolo_v1文件夹下
(4) 对照../darknet_v3/gnet_region_train_darknet_v3.prototxt修改自己的prototxt,一个是修改data层,另外一个是region层。
(5) 同理对solver文件等。
(6) 将../darknet_v3/train_darknet_v3.sh拷贝至dense-yolo_v1文件夹下,修改相关参数
(7) sh train_darknet.sh
(8) 开始训练

具体结果还在等待。。。

darknet(yolov2)移植到caffe框架的更多相关文章

  1. 转 Yolov3转化Caffe框架详解

    转自https://blog.csdn.net/watermelon1123/article/details/82083522 前些日子因工程需求,需要将yolov3从基于darknet转化为基于Ca ...

  2. Darknet windows移植(YOLO v2)

    Darknet windows移植 代码地址: https://github.com/makefile/darknet 编译要求: VS2013 update5 及其之后的版本(低版本对C++标准支持 ...

  3. Caffe框架GPU与MLU计算结果不一致请问如何调试?

    Caffe框架GPU与MLU计算结果不一致请问如何调试? 某一检测模型移植到Cambricon Caffe上时,发现无法检测出结果,于是将GPU和MLU的运行结果输出并保存后进行对比,发现二者计算结果 ...

  4. Caffe框架下的图像回归测试

    Caffe框架下的图像回归测试 参考资料: 1. http://stackoverflow.com/questions/33766689/caffe-hdf5-pre-processing 2. ht ...

  5. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...

  6. Caffe框架,图像数据转换成LMDB数据格式

    小码农最近在研究深度学习,对所学知识做点记录,以供以后翻阅.在Caffe框架中,数据的格式都是LMDB的,如何将图像数据转换成这个格式呢? 首先,将图像数据和标签生成txt文档,执行一下代码: fin ...

  7. Caffe框架,了解三个文件

    不知道从什么时候开始,Deep Learning成为了各个领域研究的热点,也不知道从什么时候开始,2015CVPR的文章出现了很多Deep Learning的文章,更不知道从什么时候开始,三维重建各个 ...

  8. Caffe使用step by step:caffe框架下的基本操作和分析

    caffe虽然已经安装了快一个月了,但是caffe使用进展比较缓慢,果然如刘老师说的那样,搭建起来caffe框架环境比较简单,但是完整的从数据准备->模型训练->调参数->合理结果需 ...

  9. 安装caffe框架所需文件

    安装caffe框架所需文件: 1.微软提供的快速卷积神经网络框架caffe-master安装包或者windows提供的caffe-windows安装包. 链接:http://pan.baidu.com ...

随机推荐

  1. DevOps,不是一个传说!

    转自: http://www.infoq.com/cn/articles/devops-not-legend DevOps最近成了热词,望文生义,你也能猜个八九不离十,它就是在说"研发团队& ...

  2. 微信小程序之下拉刷新,上拉更多列表实现

    代码地址如下:http://www.demodashi.com/demo/11110.html 一.准备工作 首先需要下载小程序开发工具 官方下载地址: https://mp.weixin.qq.co ...

  3. oracle 使用REGEXP_SUBSTR正则表达式拆分字符串

    SELECT REGEXP_SUBSTR ('first field, second field , third field', '[^,]+', 1,rownum) FROM DUAL CONNEC ...

  4. Linux命令-网络命令:lastlog

    last 显示所有用户最后登录信息(会显示系统用户) last -u 只看某一个用户wangyunpeng的最后登录信息 last -u 查看系统用户root的最后登录信息 root用户的ID是0.从 ...

  5. Python基础--字典:当索引不好用时

    当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'1 ...

  6. 在centos 5.11上安装pylint

    上午花了两三个小时在折腾pylint的安装. 如果是普通的linux倒也简单,只用运行一个pip install pylint就行了. 可是偏偏那么巧,服务器的版本是centos 5.11 这个版本对 ...

  7. 3. Digit Counts【medium】

    Count the number of k's between 0 and n. k can be 0 - 9.   Example if n = 12, k = 1 in [0, 1, 2, 3, ...

  8. iptables详细教程:基础、架构、清空规则、追加规则、应用实例(转)

    iptables防火墙可以用于创建过滤(filter)与NAT规则.所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙.如果你是第一次 ...

  9. 使用tar+lz4/pigz+ssh更快的数据传输

    使用tar+lz4/pigz+ssh更快的数据传输 -- | :41分类:Linux,MySQL | 前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速 ...

  10. make命令用法--转

    转自:http://www.techug.com/make 代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编译的安排),叫做构建(build). Make是最常用的构建 ...