【发布时间】:2021-04-13 21:46:18
【问题描述】:
我正在使用带有 CIFAR-10 数据集的 PyTorch 1.7 和 Python 3.8。我正在尝试使用以下命令创建一个块:conv -> conv -> pool -> fc。全连接层(fc)有 256 个神经元。代码如下:
# Testing-
conv1 = nn.Conv2d(
in_channels = 3, out_channels = 64,
kernel_size = 3, stride = 1,
padding = 1, bias = True
)
conv2 = nn.Conv2d(
in_channels = 64, out_channels = 64,
kernel_size = 3, stride = 1,
padding = 1, bias = True
)
pool = nn.MaxPool2d(
kernel_size = 2, stride = 2
)
fc1 = nn.Linear(
in_features = 64 * 16 * 16, out_features = 256
bias = True
)
images.shape
# torch.Size([32, 3, 32, 32])
x = conv1(images)
x.shape
# torch.Size([32, 64, 32, 32])
x = conv2(x)
x.shape
# torch.Size([32, 64, 32, 32])
x = pool(x)
x.shape
# torch.Size([32, 64, 16, 16])
# This line of code gives error-
x = fc1(x)
RuntimeError: mat1 和 mat2 形状不能相乘(32768x16 和 16384x256)
出了什么问题?
【问题讨论】:
标签: python-3.x pytorch conv-neural-network