pytorch inplace操作错误。如何绕过它?

时间:2017-06-23 11:41:50

标签: deep-learning visualization convolution torch pytorch

在python中使用PyTorch,我通过使用我训练过的反向网络将CNN的一个层反馈到输入空间。

但是,我只对一个频道的表示感兴趣。我通过将所有值设置为0来获得此功能,除了我感兴趣的频道之外的其他值。

image_representation是[torch.FloatTensor,大小为1x64x56x56]

image_representation[0, 1:, :, :] = 0

将image_representation插入到逆网中会产生图像。我将此图像输入原始CNN结果到另一种表示形式,我可以将其与原始图像产生的表示进行比较。这种比较使我的损失功能

然而,当我运行它时,我收到错误

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation

据我所知,由于零的原因,梯度无法完全计算,但我如何设计我的代码,以便省略此错误,并仅对64个通道之一进行计算?

0 个答案:

没有答案