91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決pytorch DataLoader num_workers出現的問題

發布時間:2020-09-15 11:56:26 來源:腳本之家 閱讀:360 作者:楓溪彤 欄目:開發技術

最近在學pytorch,在使用數據分批訓練時在導入數據是使用了 DataLoader 在參數 num_workers的設置上使程序出現運行沒有任何響應的結果 ,看看代碼

import torch  #導入模塊
import torch.utils.data as Data

BATCH_SIZE=8 #每一批的數據量

x=torch.linspace(1,10,10) #定義X為 1 到 10 等距離大小的數
y=torch.linspace(10,1,10)

#轉換成torch能識別的Dataset
torch_dataset = Data.TensorDataset( x,y) #將數據放入 torch_dataset

loader=Data.DataLoader(
    dataset=torch_dataset,   #將數據放入loader
    batch_size=BATCH_SIZE, #每個數據段大小為 BATCH_SIZE=5
    shuffle=True ,  #是否打亂數據的排布
    num_workers=2 #每次提取數據多進進程為2
    )
for epoch in range(3):
  
  for step,(batch_x,batch_y) in enumerate(loader):
    
    print('epoch',epoch,'|step:',step," | batch_x",batch_x.numpy(),

       '|batch_y:',batch_y.numpy())

(以上代碼取莫煩python教學視頻,教學視頻中沒有報錯)

程序就停止成這樣了

解決pytorch DataLoader num_workers出現的問題

上網查詢沒有得到有用的東西,因為程序沒有報錯,就是沒有任何反應,(沒有反應可能跟電腦或者編譯器有關,我使用的是anconda spyder)于是決定自己找找

期初我采用在語句后面加 print('1')檢測程序停在了什么地方,(其實這是一種笨方法,在這里可以采用斷點調試)程序停在了 for step,(batch_x,batch_y) in enumerate(loader):

我以為是enumerate的問題,查資料發現這就是一個可返回列表元素和鍵值的函數,不存在問題

繼續排查,把目光放在了loader,于是查詢了DataLoader的參數

DataLoader的函數定義如下:

DataLoader(dataset, batch_size=1, shuffle=False, sampler=None,
num_workers=0, collate_fn=default_collate, pin_memory=False,
drop_last=False)

1. dataset:加載的數據集(Dataset對象)

2. batch_size:batch size

3. shuffle::是否將數據打亂

4. sampler: 樣本抽樣,后續會詳細介紹

5. num_workers:使用多進程加載的進程數,0代表不使用多進程

6. collate_fn: 如何將多個樣本數據拼接成一個batch,一般使用默認的拼接方式即可

7. pin_memory:是否將數據保存在pin memory區,pin memory中的數據轉到GPU會快一些

8. drop_last:dataset中的數據個數可能不是batch_size的整數倍,drop_last為True會將多出來不足一個batch的數據丟棄

發現我所定義的幾個參數只有num_workers嫌疑最大,于是將參數值改成了默認值 0,程序可以運行了,(一把老淚縱橫)

看看進程是什么鬼 發現在這里好像沒啥用(具體自己上網查查)

解決pytorch DataLoader num_workers出現的問題

以上這篇解決pytorch DataLoader num_workers出現的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳山县| 云浮市| 泽库县| 民权县| 萨迦县| 泰州市| 林口县| 应用必备| 平潭县| 辽阳县| 璧山县| 金湖县| 峨边| 丹东市| 连平县| 耿马| 武夷山市| 南华县| 循化| 乌拉特前旗| 鹤庆县| 敖汉旗| 拜泉县| 锡林郭勒盟| 绩溪县| 华安县| 徐州市| 井冈山市| 南昌县| 安泽县| 满洲里市| 马鞍山市| 清河县| 忻城县| 浏阳市| 怀仁县| 江孜县| 正定县| 卫辉市| 榕江县| 密云县|