pytorch報錯問題:ValueError: num_samples should be a positive integer value, but got num_samples=0
pytorch報錯問題
代碼調(diào)試時,顯示
ValueError: num_samples should be a positive integer value, but got num_samples=0
因為我用的數(shù)據(jù)集是已經(jīng)劃分好的,所以不需要再shuffle。
加載數(shù)據(jù)時將shuffle = False,錯誤即可消除。
Pytorch報錯及解決記錄
1. ValueError: num_samples should be a positive integer value, but got num_samples=0
情況描述:
一般出現(xiàn)在DataLoader(dataset=train_data, …)行。
可能原因:
傳入的dataset沒有數(shù)據(jù),這時的 train_data.__len__() == 0,可能是函數(shù)找不到數(shù)據(jù)文件,數(shù)據(jù)路徑不對。
解決方法:
檢查自定義的 XXDataset() 類,關(guān)于獲取數(shù)據(jù)的部分,查看路徑等是否正確。
2. RuntimeError: stack expects each tensor to be equal size, but got [1077, 3] at entry 0 and [887, 3] at entry 1
情況描述:
出現(xiàn)這個報錯時,一般輸入的數(shù)據(jù)每個樣本的大小不相同。
可能原因:
沒有對數(shù)據(jù)進行transforms.Resize()處理,或處理不當,與網(wǎng)絡(luò)不匹配。
解決方法:
根據(jù)網(wǎng)絡(luò)輸入,對數(shù)據(jù)進行transforms.Resize()處理。
3. TypeError: pic should be PIL Image or ndarray. Got <class ‘torch.Tensor’>
情況描述:
出現(xiàn)這個報錯時,一般可能是讀取圖片數(shù)據(jù)時的格式不對,或所處理的數(shù)據(jù)不是圖片。
可能原因:
pic 數(shù)據(jù)類型應(yīng)該是 PIL Image 或 ndarray,但卻是 torch.Tensor。
解決方法:
檢查自定義的 XXDataset() 類,特別是 __getitem__() 方法,從讀取數(shù)據(jù)到返回,注意以下問題:
是否有多次對數(shù)據(jù)向tensor類型轉(zhuǎn)換,包括 torch.from_numpy()、transforms.ToTensor()等方法。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jupyter?Notebook出現(xiàn)不是內(nèi)部或外部的命令解決方案
這篇文章主要介紹了Jupyter?Notebook出現(xiàn)不是內(nèi)部或外部的命令解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Python PyQt5 Pycharm 環(huán)境搭建及配置詳解(圖文教程)
這篇文章主要介紹了Python PyQt5 Pycharm 環(huán)境搭建及配置詳解,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07利用Python+Java調(diào)用Shell腳本時的死鎖陷阱詳解
這篇文章主要給大家介紹了關(guān)于利用Python+Java調(diào)用Shell腳本時的死鎖陷阱的相關(guān)資料,文章通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-01-01