pytorch中报错 TypeError: unsupported operand type(s) for %: 'Tensor' and 'int'

在入门深度学习的过程中,看到了一篇Unet帖子,其中有类似于

 

        diffY = torch.tensor([x2.size()[2] - x1.size()[2]])
        diffX = torch.tensor([x2.size()[3] - x1.size()[3]])

        x1 = F.pad(x1, [diffX // 2, diffX - diffX // 2,
                        diffY // 2, diffY - diffY // 2])

 

这样一行将tensor实列直接取整的代码报了“TypeError: unsupported operand type(s) for %: 'Tensor' and 'int'“这个错误

多次检查后发现是因为pytorch版本过低导致,查贴以后发现更新pytorch至1.4以上就好了,不确定之前版本是否能解决这个bug,因为pytorch1.4以后的版本需要python3.7,而python3.7目前来说不是特别稳定,我用的是python3.6刚好搭配pytorch1.4,所以推荐更新至pytorch1.4

 

conda install pytorch=1.4

 

更新pytorch时遇到的别的包的版本依赖问题可以将需要更新的包更新以解决,比如我在安装时提示mkl版本需要更新,按照要求更新便可。

 

posted @ 2021-04-16 13:56  llllrj  阅读(5568)  评论(0编辑  收藏  举报