from caffe.proto import caffe_pb2
import google.protobuf.text_format
net = caffe_pb2.NetParameter()
f = open('model.prototxt', 'r')
net = google.protobuf.text_format.Merge(str(f.read()), net)
f.close()
for i in range(0, len(net.layer)):
if net.layer[i].type == 'Convolution':
if net.layer[i].convolution_param.bias_term == True:
print 'layer has bias'
您只需在
net.params[layer_name]
上迭代:这样,您就得到了所有} )
layer_params
(对于某些层,这可能超过2个,例如,^{如果只想检查第二个参数blob,可以使用
^{pr2}$len
:PS,
可能的情况是,
net.params[layer_name]
不是一个pythonlist
,而是一些python boost包装器对象,因此您可能需要在我在这个答案中建议的一些方法中将其显式转换为list(list(net.params[layer_name])
)。在如果你想做卷积层,你可以通过阅读prototxt而不需要caffemodel来发现该层是否有偏差
相关问题 更多 >
编程相关推荐