gpt4 book ai didi

caffe - 使用 caffe.NetSpec() 定义网络时,有没有办法从给定的 prototxt 中获取 "append"?

转载 作者:行者123 更新时间:2023-12-05 07:40:31 27 4
gpt4 key购买 nike

我知道可以(以编程方式)使用 caffe.Netspec() 设计一个网络,基本上主要目的是编写它的 prototxt。

net = caffe.NetSpec()
.. (define) ..
with open('my_network.prototoxt', 'w') as f:
print(net.to_proto(), file=f)

但是,我需要根据给定的 prototxt附加 层,而不是从头开始,比方说,base.prototxt。我想要的是像

net = caffe.NetSpec()
with open('base.prototoxt, 'r') as f:
net.from_proto(file=f) # <== is there something like this?
.. (append) ..
with open('my_network.prototoxt', 'w') as f:
print(net.to_proto(), file=f)

谁能给个建议?

最佳答案

您可以像这样加载模型:

model = caffe.proto.caffe_pb2.NetParameter()
input_file = open(filename, 'r')
text_format.Merge(str(input_file.read()), model)
input_file.close()
return model

然后复制图层等,如:

for i in range(0, len(model.layer)):
new_model.layer.extend([model.layer[i]])

当你的 model/new_model 是 type

时,这也会起作用
model = caffe.proto.caffe_pb2.NetParameter()

HTH.

关于caffe - 使用 caffe.NetSpec() 定义网络时,有没有办法从给定的 prototxt 中获取 "append"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125645/

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