如何对图片进行卷积计算

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的有趣之处,通过对图片进行卷积计算,设置卷积计算的通道,设置卷积核尺寸大小,设置步长,设置补充,最后进行拉伸,得到最后的图片的尺寸,让我对卷积有了进一步的了解,对卷积的使用以及深度学习的魅力有了进一步的了解。