Day(AKA Elin) 2023-06-12 23:42 采纳率: 88.9%
浏览 25
已结题

为什么Pytorch这么难用?

如题,我想从Keras转到Pytorch进行学习,想训练一个神经网络,输入图像的大小为28x28(其实就是MNIST)
以下是我的神经网络代码:

self.conv1 = nn.Conv2d(in_channels=1,out_channels=16,kernel_size=3,stride=1,padding=1)
self.pool1 = nn.MaxPool2d(kernel_size=2,stride=2)
self.relu1 = nn.ReLU()
self.norm1 = nn.BatchNorm2d(16)
self.conv2 = nn.Conv2d(in_channels=16,out_channels=32,kernel_size=3,stride=1,padding=1)
self.pool2 = nn.MaxPool2d(kernel_size=2,stride=2)
self.relu2 = nn.ReLU()
self.norm2 = nn.BatchNorm2d(32)
self.fc1 = nn.Linear(64*3*3,128)
self.softmax = nn.Softmax(dim=1)
self.fc2 = nn.Linear(128,10)

但是PytorchLightning报错:

RuntimeError: mat1 and mat2 shapes cannot be multiplied (64x1568 and 576x128)

我是真的发自内心的想问什么这里矩阵的计算会报错,以前在Keras上只需要设置好输入和输出,剩下的完全不需要操心,但是自从转Pytorch之后就是各种奇怪的问题,实话实说有点劝退了,太麻烦了。

  • 写回答

3条回答 默认 最新

  • 喝茶品人生 2023-06-13 00:07
    关注

    跟个人使用习惯有关,我也更倾向keras,代码提示输出张量大小与当前层的权重张量大小不匹配,这个得你自己检查前一层的输出张量大小了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月21日
  • 已采纳回答 6月13日
  • 创建了问题 6月12日

悬赏问题

  • ¥15 写uniapp时遇到的问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流