在Pycaffe中按索引访问blob

时间:2017-03-08 14:09:13

标签: python machine-learning neural-network deep-learning caffe

我可以使用他们的名字访问网络中的blob。 例如:

net.blobs['data'].data.shape  

返回上一层的形状 有没有办法通过它的索引访问图层?我尝试了以下方法:

net.blobs[1].data.shape  

但是我得到了一个无法提供信息的python异常

KeyError: 1

我需要以上述方式访问它,因为在运行时,我没有我想要访问的图层的名称。
有谁知道这样做的方法?

1 个答案:

答案 0 :(得分:1)

net.blobs是一个Ordered Dictionary对象,因此您无法通过数字索引访问其项目,您需要使用字符串键。

您可以按net.blobs.keys()获取可用密钥的列表,并且可以使用以下命令访问blob:

net.blobs[net.blobs.keys()[1]].data.shape

但是你应该小心这样做:caffe可能会在你的模型中引入辅助blob(特别是split层,当一个"top"作为"bottom"被送到几个层时。