hans

hans

【Python】【Caffe】一、生成prototxt文件《python调用caffe模块》


GitHub 代码地址: https://github.com/HansRen1024/Use-Python-to-call-Caffe-module

前言#

写这一系列博文前真的想了好久,有种无从下手的感觉。还是功力太浅,越是这样越要硬着头皮写。加油!

我先将将各个函数单独放出来,最后在放出完整代码。各个函数中单独用到的模块,我在函数中单独加载,这样方便将代码独立出来单独运行。

import caffe 是全局通用模块,我就不在每个函数中单独加载了。

一、加载 caffe 模块#

为了以后方便使用,把 caffe 模块放到 python 默认路径下,这样在任意目录下就都能加载 caffe 模块了。

caffe 编译通过后运行:

这个时候运行 python,import caffe,会提示找不到 caffe 的动态库。

可以将 $CAFFE_ROOT/.build_release/lib/ 加到环境变量中去,

也可以将该动态库复制到 /usr/lib/ 或者 /usr/local/lib 目录下。

此时,应该就可以在任意目录下运行 python,import caffe 了。

二、生成训练和测试 prototxt 文件#

生成网络结构文件我找到了两种方法,下面这种通过定义一个 NetSpec () 实例 n 的方法是比较好的,所以我先写的这个方法。这种方法生成的文件内,各个层的名字和输出 blob 的名字就是等号前面定义的 n 的方法。

三、生成 deploy 文件#

这里我放出生成网络结构文件的第二种方法,虽然我并不推荐使用这个方法。其实 deploy 直接拿上面生成好的文件改就行,很简单。

四、生成 solver 文件#

方法一是用字典生成:

方法二是调用 caffe 模块生成,这种方法生成的文件内,小数部分会有很小的损失。处女座强迫症犯了!

五、完整代码:#

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.