gpt4 book ai didi

deep-learning - “顺序”对象在提取 vgg19 pytorch 功能时没有属性 'features'

转载 作者:行者123 更新时间:2023-12-04 04:20:28 24 4
gpt4 key购买 nike


我正在尝试使用 VGG19 网络提取图像的特征(输出应该是暗淡的:每帧 [1 , 7 , 7 , 512]
这是我使用的代码:

    deep_net = models.vgg19(pretrained=True).cuda()
deep_net = nn.Sequential(*list(deep_net.children())[:-2])
deep_net.eval()
save_file_sample_path = '/media/data1/out.npy'
input_image = torch.zeros(1, 3, 224, 224)
output_feat = np.zeros(shape=[1, 49, 512])
with torch.no_grad():
im = default_loader('/media/data1/images/frame612.jpg')
im = transform(im)
input_image[0, :, :] = im
input_image = input_image.cuda()
output_feat = deep_net(input_image)
output_feat = output_feat.features[:-2].view(1, 512, 49).transpose(1, 2)

但是我得到以下错误:

AttributeError: 'Sequential' object has no attribute 'features'

在线:

          output_feat = output_feat.features[:-2].view(1, 512, 49).transpose(1, 2)

知道为什么这不再起作用了吗?以及如何解决?
谢谢!

最佳答案

这是因为你正在用 nn.Sequential 重建 deep_net 所以它失去了 features 属性。

deep_net = models.vgg19(pretrained=True)
deep_net.features
Sequential(
(0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(1): ReLU(inplace=True)
...
(36): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
deep_net = nn.Sequential(*list(deep_net.children())[:-2])
deep_net.features
AttributeError: 'Sequential' object has no attribute 'features'

你现在想要的等价物是这样的:

list(deep_net.children())[0][:-2]

关于deep-learning - “顺序”对象在提取 vgg19 pytorch 功能时没有属性 'features',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59512941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com