caffe添加自己编写的Python层

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了caffe添加自己编写的Python层相关的知识,希望对你有一定的参考价值。

由于Python的灵活性,我们在caffe中添加自己定义的层时使用python层会更加方便,开发速速也会比C++更快,现在我就在这儿简单说一下如何在caffe中添加自定义的python层(使用的原网络结构时Lenet结构):

首先在caffe->python文件夹中添加自己定义的层函数.py文件,比如我这里命名为MyPythonLayer.py,该层实现的功能是对输入数据加上一个数字,如下:

技术分享

然后在/home/zf/caffe/examples/mnist/lenet_train_test.prototxt中添加新的层(添加python层的时候和之前添加C++层有点稍微不同,要注意一下):

技术分享

之后用train_lenet.sh进行训练时,可能会出现错误说什么该函数要求protobuf版本为3.3.0,但是你的机子上安装的为2.6.1,所以你可能需要进行升级这个错误,可以参考这个链接进行protobuf3.3.0的安装

(http://blog.csdn.net/codertc/article/details/52022646)

之后用train_lenet.sh进行训练依然是这个错误,我暂时还不道如何解决,但这时候我i们可以写.py文件进行训练,如下:

技术分享

之后就可以进行训练了

以上是关于caffe添加自己编写的Python层的主要内容,如果未能解决你的问题,请参考以下文章

Caffe实战系列:实现自己Caffe网络层

Android硬件抽象层模块编写规范

caffe的python接口求助

实现自己的HAL2 HAL helloworld 之HAL层代码的编写

caffe数据层及参数

caffe添加自己的层