利用enet学习caffe系列----(1)Win移植caffe以及将别人的layer层加入自己caffe中

本文适用于(1)linux上的caffe移植到win上,(2)将别人caffe中layer添加到自己的caffe中,且提供的是方法步骤
以下全部基于win7(cpu),vs2013,测试的caffe为enet(linux gpu)

参考工具,文章或代码

如何将caffe从linux移植到win上
【caffe-windows】Linux至Windows平台的caffe移植
caffe在win安装
无GPU】windows10+VS2013+caffe安装【python接口】
Windows下用cpu模式跑通目标检测py-faster-rcnn 的demo.py
如何给caffe添加层
Caffe添加自定义的层
目录对比工具
araxis merge

移植步骤

一方面,我们运行别人的代码,少数用官方caffe的版本会跑不通,更何况现在caffe现在还不更新了,主要的原因是别人的caffe中,会自定义一些layer,而这些layer在官方的caffe中不会有,所以会报错。
另一方面,官方的caffe有linux和win版本,至少说明大部分layer是可以在win下可以编译成。
所以,我们采取的步骤就是
(1)下载caffe-win版本,先编译跑通。
(2)通过目录对比软件,比较别人的caffe和自己跑通的caffe中文件不同,一般不同的文件就是别人添加的自定义layer层。
(3)按照caffe添加自定义层的步骤,将别人的layer层添加到自己的caffe中,逐层添加,逐步调试。

1.安装caffe

windows下安装caffe,使用微软版的caffe,https://github.com/Microsoft/caffe 是简单的方式,只不过安装的caffe版本较旧,且只支持python2,具体安装方式见上面参考链接。

2.目录对比

enet地址https://github.com/TimoSaemann/ENet/
使用araxis merge对比神器,可以知道目录中的文件不同
在这里插入图片描述
通过对比可以知道别人caffe到底哪里不同,主要对比的文件夹是include, layer等目录下,看上图,就很容易知道右边多了softmax_loss_othem_layer等层。后面可以根据这些层,逐步添加到我们的caffe中

3.添加层

原则是:
(1)尽量不改动成功编译好的caffe,如果我们发现别人的layer和我们的layer名字相同,但是别人的内部改动比较大,我们就把这个layer重新命名,然后添加到我们的caffe中。特别重要的是,要逐步去熟悉caffe的架构,添加的时候才不会盲目。
(2)如果发现别人的caffe中比我们的caffe中的相关layer改动较少,或者就是添加几个函数,或者改了参数,我们就直接在我们的cafffe中改动。
(3)当linux改动windows时,我们要牢记windows caffe上的特点,见上面参考链接https://blog.csdn.net/zb1165048017/article/details/52610051。
(4)逐个添加layer,各个击破,可以减少问题的并发性。
(5)先编译libcaffe项目,在编译整个解决方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值