RuntimeError: CUDA error: initialization error

  • 問題描述:使用PyTorch的DataLoader,講num_workers改爲非零數字後, 運行程序報錯RuntimeError: CUDA error: initialization error
  • 解決方法:不可在DataLoader或DataSet內將任何數據放到CUDA上,而是等到程序運行出DataLoader之後(也就是到了train裏的時候)將數據放到CUDA上。

原因猜測:
  DataLoader使用num_workers時將數據load到“緩衝區”,如果在還未成功將數據load到“緩衝區”的時候把數據放到CUDA上(該操作相比於load數據更爲費時),此時load數據進程轉向load下一組數據,從而導致CUDA initialization error(如果猜測與事實有出入,還希望有識之士能夠在評論區指正)

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