在使用tensor的時(shí)候有時(shí)候我們需要確定數(shù)據(jù)的類型和大小,但是在pytorch查看數(shù)據(jù)類型和大小的時(shí)候有時(shí)候會報(bào)錯(cuò),那么出現(xiàn)這樣的報(bào)錯(cuò)我們該如何解決呢?接下來小編就帶你了解一下解決這個(gè)問題的方案。
問題描述:
查看tensor數(shù)據(jù)大小時(shí)使用了data.shape(),報(bào)錯(cuò):
TypeError: 'torch.Size' object is not callable 或 TypeError: 'tuple' object is not callable。
解決方法:
查看數(shù)據(jù)類型:data.dtype
查看數(shù)據(jù)大小:data.shape
補(bǔ)充:pytorch tensor比較大小 數(shù)據(jù)類型要注意
如下
a = torch.tensor([[0, 0], [0, 0]])
print(a>=0.5)
輸出
tensor([[1, 1],
[1, 1]], dtype=torch.uint8)
結(jié)果明顯不對, 分析原因是因?yàn)? a是long類型, 而0.5是float. 0.5會被轉(zhuǎn)化為 long, 變?yōu)?. 因此結(jié)果會出錯(cuò), 做出如下修改就可以得到正確答案
正確用法:
a = torch.tensor([[0, 0], [0, 0]]).float()
print(a>=0.5)
以上就是pytorch查看數(shù)據(jù)類型和大小的全部內(nèi)容,希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool。