在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个通道之一进行计算?