1

我用层的 ResNet 提取图像的特征'res5c',结果是形状的 numpy 数组(2048, 14, 14)

我在处理这些维度时遇到了麻烦。我知道有 14*14 个大小为 2048 的特征。我想迭代一次以访问每个特征。

因此,我如何才能将其重塑为 (14*14, 2048) 的数组而不会出错,然后使用 for 循环轻松地对其进行迭代?

4

1 回答 1

0

您可以阅读以下功能net.forward()

feat = net.blobs['res5c'].data.cop() # copy to be on the safe side.

正如你所描述的,feat是一个np.arraywith shape = (2048, 14, 14)
你可以reshape

feat.reshape((2048,-1)) # fix the first dimension to 2048, -1 set the number of features to match that of `feat`.

现在您可以迭代特征:

for fi in xrange(feat.shape[1]):
    f = feat[:,fi] # get the fi-th feature
    # do somethinf to the feature f
于 2017-01-24T10:33:14.690 回答