目录
一、conv2d() received an invalid combination of arguments
二、 expected scalar type double but found float
三、shape '[-1, 3136]' is invalid for input of size 35200000
四、expected scalar type Long but found Double
最近在写机器学习的第二个大作业,因为要求是用神经网络去完成,上一学期模式识别用的是简单的BP,但是这学期是要求深度神经网络,所以想用CNN——卷积神经网络来做。但是。。。当然,遇到了特别多的问题。
一、conv2d() received an invalid combination of arguments
写CNN的时候,我借鉴的是这篇文章:
(60条消息) Python PyTorch6:卷积神经网络_Amzmks的博客-CSDN博客_卷积神经网络python
然后我把其中下载的数据集换成了我的数据集,就会发生以下报错
刚开始我真的以为是cov2d这个函数的参数输入不对,然鹅,我发现怎么该参数都一样地报错,后来我思考了一下,我新建了一个文件,输入以下代码:
self.conv1 = nn.Sequential(nn.Conv2d(1, 64, 5, 1, 2), nn.ReLU(), nn.MaxPool2d(2, 2))
也就是报错的那句代码,运行,却没有报错。
然后我就觉得,一定是我输入的图片的格式的问题。
我的图片数据是np.array格式,二维数组,于是我就觉得我应该在原代码里调试一下,看一下别人训练前的数据格式是什么。
发现原来别人的格式是Tensor
参照文章:(60条消息) Pytorch中Tensor与各种图像格式的相互转化_明泽.的博客-CSDN博客_tensor转图片
可以知道在pytorch中ÿ