我可以使用他们的名字访问网络中的blob。 例如:
net.blobs['data'].data.shape
返回上一层的形状 有没有办法通过它的索引访问图层?我尝试了以下方法:
net.blobs[1].data.shape
但是我得到了一个无法提供信息的python异常
KeyError: 1
我需要以上述方式访问它,因为在运行时,我没有我想要访问的图层的名称。
有谁知道这样做的方法?
答案 0 :(得分:1)
net.blobs
是一个Ordered Dictionary对象,因此您无法通过数字索引访问其项目,您需要使用字符串键。
您可以按net.blobs.keys()
获取可用密钥的列表,并且可以使用以下命令访问blob:
net.blobs[net.blobs.keys()[1]].data.shape
但是你应该小心这样做:caffe可能会在你的模型中引入辅助blob(特别是split
层,当一个"top"
作为"bottom"
被送到几个层时。