是否有一种简单的方法来重命名卡菲网络中的层,使用pycaffe接口?
我看过了净外科学示例,但找不到我需要的示例。
例如,我希望加载一个经过训练的Caffe模型,并将conv1层的名称及其相应的blob更改为new-conv1。
发布于 2016-09-21 11:53:14
我不知道如何直接做到这一点,但这里有一个解决办法:
给出了预先训练的Caffe模型、my_model.caffemodel及其网络体系结构net.prototxt。复制net.prototxt (例如net_new.prototxt),并将conv1层的名称更改为new-conv1 (如果需要,可以更改bottom和top的名称)。
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')https://stackoverflow.com/questions/34581971
复制相似问题