您好,登錄后才能下訂單哦!
這篇文章主要講解了“pytorch中函數tensor.numpy()的數據類型實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“pytorch中函數tensor.numpy()的數據類型實例分析”吧!
今天寫代碼的時候,要統計一下標簽數據里出現的類別總數和要分類的分類數是不是一致的。
我的做法是把tensor類型的數據轉變成list,然后用Counter函數做統計。
代碼如下:
from collections import Counter List_counter = Counter(List1) #List1就是待統計的數據,是一維的列表。生成的List_counter是一個字典,鍵是數據, #對應的值是數據出現的頻率
在做這個統計的時候,突然發現,我的數據是float的類型,這是不應該出現的,因為標簽數據在處理的時候都是整型數據。
經過一番查找后,發現是tensor.numpy()返回值數據類型的原因。這個函數的返回值是float類型的
在pytorch中,把numpy.array數據轉換到張量tensor數據的常用函數是torch.from_numpy(array)或者torch.Tensor(array)
第一種函數更常用,然而在pytorch0.4中已經舍棄了這種函數
下面一個簡單的編程實驗說明這兩種方法的區別
實驗在pytorch0.4框架下進行
運行程序之后,結果是
可以看出修改數組a的元素值,張量b的元素值也改變了,但是張量c卻不變。
修改張量c的元素值,數組a和張量b的元素值都不變。
這說明torch.from_numpy(array)是做數組的淺拷貝,torch.Tensor(array)是做數組的深拷貝
感謝各位的閱讀,以上就是“pytorch中函數tensor.numpy()的數據類型實例分析”的內容了,經過本文的學習后,相信大家對pytorch中函數tensor.numpy()的數據類型實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。