【问题标题】:Rename Caffe layers through pycaffe通过pycaffe重命名Caffe层
【发布时间】:2016-01-03 21:46:15
【问题描述】:

有没有使用 pycaffe 接口重命名 网络中层的简单方法?

我查看了net surgery 示例,但找不到我需要的示例。

例如,我想加载一个经过训练的 Caffe 模型,并将conv1 层的名称及其对应的 blob 更改为 new-conv1

【问题讨论】:

标签: caffe caffe pycaffe


【解决方案1】:

我不知道直接的方法,但这里有一个解决方法:

给定一个预训练的 Caffe 模型 my_model.caffemodel 及其网络架构 net.prototxt。复制net.prototxt(比如net_new.prototxt),并将conv1层的名称更改为new-conv1(如果需要,您可以更改bottomtop的名称)。

import caffe
net_old = caffe.Net('net.prototxt','my_model.caffemodel',caffe.TEST)
net_new = caffe.Net('net_new.prototxt','my_model.caffemodel',caffe.TEST)
net_new.params['new-conv1'][0].data[...] = net_old.params['conv1'][0].data[...]  #copy filter across 2 nets
net_new.params['new-conv1'][1].data[...] = net_old.params['conv1'][1].data[...]  #copy bias
net_new.save('my_model_new.caffemodel')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-18
    • 2015-11-29
    • 2016-05-27
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2017-10-14
    相关资源
    最近更新 更多