darknet(yolov2)移植到caffe框架
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框架的更多相关文章
- 转 Yolov3转化Caffe框架详解
转自https://blog.csdn.net/watermelon1123/article/details/82083522 前些日子因工程需求,需要将yolov3从基于darknet转化为基于Ca ...
- Darknet windows移植(YOLO v2)
Darknet windows移植 代码地址: https://github.com/makefile/darknet 编译要求: VS2013 update5 及其之后的版本(低版本对C++标准支持 ...
- Caffe框架GPU与MLU计算结果不一致请问如何调试?
Caffe框架GPU与MLU计算结果不一致请问如何调试? 某一检测模型移植到Cambricon Caffe上时,发现无法检测出结果,于是将GPU和MLU的运行结果输出并保存后进行对比,发现二者计算结果 ...
- Caffe框架下的图像回归测试
Caffe框架下的图像回归测试 参考资料: 1. http://stackoverflow.com/questions/33766689/caffe-hdf5-pre-processing 2. ht ...
- 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...
- Caffe框架,图像数据转换成LMDB数据格式
小码农最近在研究深度学习,对所学知识做点记录,以供以后翻阅.在Caffe框架中,数据的格式都是LMDB的,如何将图像数据转换成这个格式呢? 首先,将图像数据和标签生成txt文档,执行一下代码: fin ...
- Caffe框架,了解三个文件
不知道从什么时候开始,Deep Learning成为了各个领域研究的热点,也不知道从什么时候开始,2015CVPR的文章出现了很多Deep Learning的文章,更不知道从什么时候开始,三维重建各个 ...
- Caffe使用step by step:caffe框架下的基本操作和分析
caffe虽然已经安装了快一个月了,但是caffe使用进展比较缓慢,果然如刘老师说的那样,搭建起来caffe框架环境比较简单,但是完整的从数据准备->模型训练->调参数->合理结果需 ...
- 安装caffe框架所需文件
安装caffe框架所需文件: 1.微软提供的快速卷积神经网络框架caffe-master安装包或者windows提供的caffe-windows安装包. 链接:http://pan.baidu.com ...
随机推荐
- Docker背后的内核知识——cgroups资源限制(转)
时间 2015-04-20 21:10:00 InfoQ 原文 http://www.infoq.com/cn/articles/docker-kernel-knowledge-cgroups-re ...
- 一个基于node express4.0和mongodb的活动报名
代码放在code.csdn.net上了,详细https://code.csdn.net/qazwsx2345/node_activity/tree/master git clone git@code. ...
- :not() 选择器选取除了指定元素以外的所有元素
:not() 选择器选取除了指定元素以外的所有元素; 最近有人那上图问:如果触碰li时背景色和字体都变化,但是已经被选中的(现在是第一行)不变怎么办?:not是一个非常简单方便的办法:加入我给已经被选 ...
- SWFupload在IE9以上中的bug
这几天在做图片上传的东西,是用swfupload是出现了再IE9下那选择文件的按钮无法点击的情况,在其他浏览器,例如Firefox.chrome都不会出现,后来google一下才发下这算是IE9以上和 ...
- Python sklearn 分类效果评估
https://blog.csdn.net/sinat_26917383/article/details/75199996
- Laravel 项目开发规范
参考:https://fsdhub.com/books/laravel-specification
- html页面中js判断浏览器是否是IE浏览器及IE浏览器版本
HTML里: HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了.在HTML代码中, ...
- springboot admin server常用配置
Property name Description Default value spring.boot.admin.context-path The context-path prefixes the ...
- IntelliJ IDEA代码编码区提示库源不匹配字节码解决办法
在使用IntelliJ IDEA进行开发时,可能会在代码编辑区出现此提示:library source does not match the bytecode for class HelloWorld ...
- 0050 MyBatis关联映射--一对多关系
一对多关系更加常见,比如用户和订单,一个用户可以有多个订单 DROP TABLE IF EXISTS customer; /*用户表*/ CREATE TABLE customer( `pk` INT ...