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