RuntimeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_19156/1757806420.py in <module>
59
60 #2、用噪声生成一张假图片
---> 61 noise.resize_(data.size()[0], input_dim, 1, 1).normal_(0, 1) #噪声是一个input_dim维度的向量
62 #喂给生成器生成图像
63 fake_pic=netG(noise).detach() #这里的detach是为了让生成器不参与梯度更新
RuntimeError: cannot resize variables that require grad
我在网上查了很多的资料,都没有解决,网上一般提到把resize换成reshape,但是我更换了之后发现还是报错。
根据网上信息,把resize换成reshap之后,报错信息如下:
RuntimeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_19156/461809969.py in <module>
59
60 #2、用噪声生成一张假图片
---> 61 noise.reshape(data.size()[0], input_dim, 1, 1).normal_(0, 1) #噪声是一个input_dim维度的向量
62 #喂给生成器生成图像
63 fake_pic=netG(noise).detach() #这里的detach是为了让生成器不参与梯度更新
RuntimeError: shape '[64, 100, 1, 1]' is invalid for input of size 4
网上也有相关报错的解释,比如http://pytorch 0.4 改动: cannot resize variables that require grad
但没有给出解决方法,因为报错提示不能对可变梯度求resize,所以我就把variable的requires_grad给改为false,或者直接删点默认为false
最后就能正常跑代码了。