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

問題上運行多處理磚:Python內核是反應遲鈍的錯誤

956020年
新的貢獻者二世

你好,

我的問題:

我試著運行一個pytorch代碼包括多處理磚和太代碼崩潰的注意:

致命錯誤:Python的內核是反應遲鈍。

Python程序退出,退出碼134 (SIGABRT:流產)。

關閉clientserver連接

斷言失敗:好的(src / mailbox.cpp: 99)

Python致命錯誤:中止

在調試它,它似乎崩潰在生成的代碼pytorch dataloader當num_workers > 0。

如果num_workers = 0,代碼運行很好。

這是事故的確切點:

> / local_disk0 / .ephemeral_nfs / cluster_libraries / python / lib / python3.9 /網站/火炬/跑龍套/數據/ dataloader.py (1042) __init__ ()

1040 #在它開始之前,__del__試圖加入但會:

1041 # AssertionError:隻能加入一個開始的過程。

- > 1042年w.start ()

我試著其他東西:

我試著改變pin_memory參數——它崩潰當它是正確的和錯誤的。

此外,在另一個地方的代碼有一個多線程程序使用池:

多處理。池進口池

也崩潰的消息,python內核沒有響應。

消除一個線程,這個過程似乎也解決了問題。

我檢查與監測過程如果這是內存問題,我還沒有見過一個問題。我還測試了代碼與一個更大的集群,它仍然崩潰。

附加信息:

這是我集群細節:m52xlarge, 32 GB內存,8核

磚的運行時版本:11.2(包括Apache火花3.3.0,Scala 2.12)

Python版本:3.9

Pytorch版本:2.0.1 + cu117

(我試著不同的集群與更多的內存和它發生在所有)

任何幫助將不勝感激:folded_hands:

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

這是因為多處理不會使用火花的分布式框架/磚。

當你使用,您的代碼將運行在司機,工人們不做任何事情。

更多信息在這裏

所以你應該使用spark-enabled毫升庫,像sparktorch。

或不使用火花,但雷。例如:

https://docs.m.eheci.com/machine-learning/ray-integration.html

在原帖子查看解決方案

1回複1

werners1
尊敬的貢獻者三世

這是因為多處理不會使用火花的分布式框架/磚。

當你使用,您的代碼將運行在司機,工人們不做任何事情。

更多信息在這裏

所以你應該使用spark-enabled毫升庫,像sparktorch。

或不使用火花,但雷。例如:

https://docs.m.eheci.com/machine-learning/ray-integration.html

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

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

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

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

Baidu
map