1 问题
如何对图片进行卷积计算?
2 方法
先导入torch和torch里的nn类,然后设置一个指定尺寸的随机像素值的图片,然后使用nn.conv2d函数进行卷积计算,然后建立全连接层,最后得到新的图片的尺寸
步骤:
(1) 导入实验所需要用到的包
from numpy import pad
import torch
from torch import nn
(2) 设置一个指定尺寸的图片
x = torch.rand(128,3,28,28)
(3) 设置卷积
conv1 = nn.Conv2d(in_channels=3,\
out_channels=16,kernel_size=3,\
stride=1,padding=1)
(4) 建立全连接层然后对图片进行卷积计算,然后对图片进行拉伸,再将拉伸后的图片交给全连接层,最后打印救过卷积计算的图片的尺寸
fc = nn.Linear(in_features=32*28*28,\
out_features=10)
x = conv1(x) # [128,16,28,28]
x = torch.flatten(x,1) # [128,32*28*28]
out = fc(x)
print(out.shape)
3 结语
这次实验我们更加深入的了解了torch的有趣之处,通过对图片进行卷积计算,设置卷积计算的通道,设置卷积核尺寸大小,设置步长,设置补充,最后进行拉伸,得到最后的图片的尺寸,让我对卷积有了进一步的了解,对卷积的使用以及深度学习的魅力有了进一步的了解。