取消
顯示的結果
而不是尋找
你的意思是:

不能初始化CUDA在分叉的子流程。

phdykd
新的因素

這是錯誤的我:“RuntimeError:無法初始化CUDA分叉的子流程。使用CUDA多處理,您必須使用“衍生”開始的方法”。我用13.0 nc12s_v3集群。

我用這個:“

進口 torch.multiprocessing 作為 國會議員
mp.set_start_method ( “生成” , 力= 真正的 )

pytorch_lightning.callbacks 進口 EarlyStopping

”,但仍然得到相同的問題。有解決方案嗎?

謝謝

1回複1

庫瑪
重視貢獻二世
重視貢獻二世

@phdykd,
謝謝你發布你的問題在磚社區。

  1. 一種方法是包括start_method =“叉”參數的生成函數調用如下:mp。產卵(* prev_args start_method =“叉”)。盡管這將工作,它可能提高一個警告建議使用方法(選項2)。

  2. 另一個建議的解決方案,根據PyTorch(鏈接),是使用torch.multiprocessing。start_processes: torch.multiprocessing。start_processes (* prev_args start_method =“叉”)。

  3. 重要的是要注意,上述選項不兼容CUDA (鏈接,鏈接)。因此,試圖運行任何.cuda相關命令將導致失敗。

  4. 可行的解決方案,成功地解決了所有這些問題是利用TorchDistributor (local_mode = True)。

請參考這個文檔為更多的細節

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map