得到VGG19某个卷积层的输出结果

from torchvision import models,transforms
import torch
from PIL import Image
from torch import nn

preprocess_transform = transforms.Compose([
    transforms.Resize((900, 600)),
    transforms.ToTensor()
    ])
dev = torch.device("cuda")

def load_image(img_path):
    image = Image.open(img_path).convert('RGB')
    return preprocess_transform(image).unsqueeze(0).to(dev)

model = models.vgg19(pretrained=True)
model = model.to(dev)
print(model)

img_path = 'img/building.png'
image = load_image(img_path) # (1,3,600,900)
print(image.shape)
# outputs = model(image)
x = image
layers_outputs = []
for l in model.features:
    x = l(x)
    if isinstance(l, nn.Conv2d):
        layers_outputs.append(x)
print(layers_outputs) # 想要哪一层拿哪一层