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版本需要更新,按照要求更新便可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM