得到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) # 想要哪一层拿哪一层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
VGG16的卷积层是网络的核心部分,负责提取输入图像的特征。VGG16共有13个卷积层,每个卷积层都使用了3x3大小的卷积核进行特征提取,并使用ReLU激活函数进行非线性变换。下面介绍VGG16的卷积层部分: 1. Convolutional Layer 1: 64个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对输入图像进行第一次卷积操作,得到64个特征图。 2. Convolutional Layer 2: 64个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层的特征图进行第二次卷积操作,仍然得到64个特征图。 3. Max Pooling Layer 1: 2x2大小的池化窗口,步长为2,进行下采样。这一层对上一层的特征图进行最大池化操作,将特征图尺寸缩小一半。 4. Convolutional Layer 3: 128个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层下采样后的特征图进行第三次卷积操作,得到128个特征图。 5. Convolutional Layer 4: 128个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层的特征图进行第四次卷积操作,仍然得到128个特征图。 6. Max Pooling Layer 2: 2x2大小的池化窗口,步长为2,进行下采样。这一层对上一层的特征图进行最大池化操作,将特征图尺寸缩小一半。 7. Convolutional Layer 5: 256个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层下采样后的特征图进行第五次卷积操作,得到256个特征图。 8. Convolutional Layer 6: 256个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层的特征图进行第六次卷积操作,仍然得到256个特征图。 9. Convolutional Layer 7: 256个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层的特征图进行第七次卷积操作,仍然得到256个特征图。 10. Max Pooling Layer 3: 2x2大小的池化窗口,步长为2,进行下采样。这一层对上一层的特征图进行最大池化操作,将特征图尺寸缩小一半。 11. Convolutional Layer 8: 512个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层下采样后的特征图进行第八次卷积操作,得到512个特征图。 12. Convolutional Layer 9: 512个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层的特征图进行第九次卷积操作,仍然得到512个特征图。 13. Convolutional Layer 10: 512个3x3大小的卷积核,步长为1,使用ReLU激活函数。这一层对上一层的特征图进行第十次卷积操作,仍然得到512个特征图。 最后的卷积层输出的特征图将作为全连接层的输入进行分类。通过多次堆叠小尺寸的卷积核和池化层,VGG16能够有效地增加网络的深度,并提高图像识别的准确性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值