caffe——网络参数转化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了caffe——网络参数转化相关的知识,希望对你有一定的参考价值。

在训练网络时可以利用别人的pre-train model来初始化的网络,caffe可以实现两个网络参数的转化,前提条件是转化的层的参数设计是一致的,以下程序是转化了三个卷积层和三个全连接层的参数,python的代码如下:

import caffe
caffe.set_mode_gpu()
train_net = caffe.Net(/home/python_code/caffe/trainmodel.prototxt,
                      /home/python_code/caffe/gendernet_50000.caffemodel, caffe.TEST)
test_net = caffe.Net(/home/python_code/caffe/deploy.prototxt, caffe.TEST)
test_net.save(/home/python_code/caffe/gendernet.caffemodel)
params = [conv1, conv2, conv3, fc6, fc7, fc8]
params_trans = [conv1, conv2, conv3, fc6, fc7, fc8]
train_params = {pr: (train_net.params[pr][0].data, train_net.params[pr][1].data) for pr in params}
test_params = {pr: (test_net.params[pr][0].data, test_net.params[pr][1].data) for pr in params_trans}
for pr_train, pr_test in zip(params, params_trans):
    test_params[pr_test][0].flat = train_params[pr_train][0].flat
    test_params[pr_test][1][...] = train_params[pr_train][1]
test_net.save(/home/python_code/caffe/gendernet.caffemodel)

 

以上是关于caffe——网络参数转化的主要内容,如果未能解决你的问题,请参考以下文章

caffe 一些网络参数

[caffe]网络各层参数设置

caffe.bin caffe的框架

python Caffe片段

Windows Caffe 图像数据转化为Caffe可以运行的数据

caffe solver 配置详解