在入门深度学习的过程中,看到了一篇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版本需要更新,按照要求更新便可。