pytoch數據迭代器DataLoader:TypeError: Caught TypeError in DataLoader worker process 0

問題: TypeError: Caught TypeError in DataLoader worker process 0

參考網上的很多將num_works設置爲0,但是一直猶豫,因爲速度慢了很多,而已有沒有效果也有待考證,有想試試的可以試一下

  train_loader = Data.DataLoader(dataset=train_data, batch_size=config.train_batch_size, shuffle=False,
                                   num_workers=0)

還有比較靠譜的說是數據標籤問題,這個我得數據量非常大,大概有9萬的樣子,想檢查哪裏的標籤問題還是很難的,但是大概瀏覽的過程發現有部分文件0KB,引起了我得警惕。目前按照linux命令刪除了刪不掉,最後代碼刪除:

from os import listdir, system,remove
import re
from os.path import isdir, abspath, getsize, join

base_dir = "/data/bmw/output_path"
datadir = listdir(base_dir)
print(len(datadir))
for data in datadir:
    filename = join(base_dir,data)
    if getsize(filename) == 0:
        # system('rm -rf %s' % filename)
        remove(filename)
        print("[-] Deleting %s ..." % filename)
passenger_num = len(re.findall(".npy", str(datadir)))
print(passenger_num)
print(len(datadir) - passenger_num)

最終處理完至少圖片和標籤文件的數量是對的上的,目前正在訓練過程中,期待有好的結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章