标题已经包含了完整的问题:如何使用Pycaffe获取Caffe模型中特定层的输出形状?
我有一个caffe.Net()
对象,现在我想获取模型中特定层的输出形状。
回答:
给定层名称,你可以通过以下方式获取其索引:
l_idx = list(net._layer_names).index(my_layer_name)
一旦你有了l_idx
,你可以获取其输出(即"top"
):
tops = [(net._blob_names[bi], net.blobs[net._blob_names[bi]].data.shape) for bi in list(net._top_ids(li))]
对于每个"top"
,你可以获取信息
for tn in tops: print "输出名称 {} 的形状为 {}".format(tn, net.blobs[tn].data.shape)
关于如何通过Pycaffe接口访问网络结构的更详细示例,可以在这里找到这里。