gpt4 book ai didi

caffe - net surgery pycaffe 复制权重和 reshape

转载 作者:行者123 更新时间:2023-12-01 10:33:59 27 4
gpt4 key购买 nike

我正在尝试将预训练模型的大小为 3x3x3 的层“con_1”的学习权重复制到新层“con_1_1”,以便新层的大小为 6x3x3(6 个 channel )。我实际上是在尝试将大小为 3x3x3 的权重复制到 6x3x3。我怎样才能使用 pycaffe 做到这一点。

      layer name: 'con_1'
size: 3x3x3

new layer name: 'con_1_1'
size: 6x3x3

con_1_1 should be [con_1, con_1] % just concatenation of two con_1 weights

最佳答案

您必须使用 .prototxt 文件和 .caffemodel 文件读取网络。然后将原始网络中的权重复制到一个变量中,然后将它们复制到编辑后的网络中。

net = caffe.Net('path/to/conv.prototxt', 'path/to/conv.caffemodel', caffe.TEST)
W = net.params['con_1'][0].data[...]
b = net.params['con_1'][1].data[...]

net = caffe.Net('path/to/conv2.prototxt', 'path/to/conv2.caffemodel', caffe.TEST)
W_1 = numpy.concatenate(W, W, axis=2)
b_1 = numpy.concatenate(b, b, axis=0)
net.params['con_1_1'][0].data[...] = W_1
net.params['con_1_1'][1].data[...] = b_1

看看这个link还有这个link获取更多信息。

关于caffe - net surgery pycaffe 复制权重和 reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873549/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com