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(如果猜测与事实有出入,还希望有识之士能够在评论区指正)

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