解決pytorch 數(shù)據(jù)類型報錯的問題
pytorch報錯:
RuntimeError: Expected object of type Variable[torch.LongTensor] but found type Variable[torch.cuda.ByteTensor] for argument #1 ‘a(chǎn)rgument1'
解決方法:
pytorch框架在存儲labels時,采用LongTensor來存儲,所以在一開始dataset返回label時,就要返回與LongTensor對應(yīng)的數(shù)據(jù)類型,即numpy.int64
補(bǔ)充:使用pytorch遇到的各種問題及解決方案
自己在使用pytorch遇到的各種問題及解決方案:
RuntimeError: Expected object of scalar type Float but got scalar type Double for argument #4 'mat1'
RuntimeError: The size of tensor a (12800) must match the size of tensor b (100) at non-singleton dimension 0
輸入維度為12800,輸出維度為100,輸入輸出的維度不一致,正確的例子如下:
inputs = [(1,2,3), (2,3,4)] outsputs = [4, 5]
將輸入輸出的長度改為一致
取tensor的第一個元素
XXX.item() # XXX為tensor對象
tensor中的元素改變數(shù)據(jù)類型
# 常常因?yàn)閿?shù)據(jù)類型出錯,要修改數(shù)據(jù)類型 XXX.int() XXX.float()
補(bǔ)充:Pytorch的Dataloader報錯:TypeError: batch must contain tensors, numbers, dicts or lists
具體報錯:
TypeError: batch must contain tensors, numbers, dicts or lists; found <class 'PIL.Image.Image'>
loader的代碼:
dataloader=torch.utils.data.DataLoader(dataset,batch_size=1,shuffle=True)
表面上看這個代碼沒有問題,實(shí)際上問題出在了dataloader機(jī)制的要求上,dataloader要求接收的是一個tensor,而我的dataset沒有做transform,所以dataset的getitem函數(shù)返回的是一個PIL的Image對象,所以就會報錯
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python 數(shù)值區(qū)間處理_對interval 庫的快速入門詳解
今天小編就為大家分享一篇Python 數(shù)值區(qū)間處理_對interval 庫的快速入門詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11詳解Python的整數(shù)是如何實(shí)現(xiàn)的
本文我們來聊一聊Python的整數(shù),我們知道Python的整數(shù)是不會溢出的,換句話說,它可以計(jì)算無窮大的數(shù),只要你的內(nèi)存足夠,它就能計(jì)算。但問題是,Python底層又是C實(shí)現(xiàn)的,那么它是怎么做到整數(shù)不溢出的呢?本文就來詳細(xì)說說2022-11-11python單機(jī)五子棋的代碼實(shí)現(xiàn)示例
五子棋是經(jīng)典的棋牌類游戲,很多人都玩過,那么如何用Python實(shí)現(xiàn)五子棋呢,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Python獲取網(wǎng)絡(luò)圖片和視頻的示例代碼
Python 是一種多用途語言,廣泛用于腳本編寫。我們可以編寫Python 腳本來自動化日常事務(wù)。本文將用Python實(shí)現(xiàn)獲取Google圖片和YouTube視頻,需要的可以參考一下2022-03-03Python辦公自動化之?dāng)?shù)據(jù)可視化與報表生成
在現(xiàn)代辦公環(huán)境中,數(shù)據(jù)處理和報表生成是一項(xiàng)重要的任務(wù),本文將高效介紹如何使用Python進(jìn)行數(shù)據(jù)可視化和報表生成,讓您的辦公工作更加順利2023-07-07Python內(nèi)存管理精準(zhǔn)釋放與延遲拷貝技術(shù)探究
這篇文章主要為大家介紹了Python內(nèi)存管理精準(zhǔn)釋放與延遲拷貝技術(shù)探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01