嘿,夥計們,
我有一些問題,我希望你能幫助我。
我開始訓練pytorch模型在分布式訓練使用petastorm + Horovod像磚建議文檔。
問1:
我可以看到每個工人的火車模型,但當時代是我得到一個錯誤,導致工作失敗。
我不知道導致錯誤,一些可疑的線我發現日誌:
(1,0):終止叫做沒有一個活躍的異常(1,0):* * *(* * *)過程接收信號* * *[1,0]:[* * *]信號:流產(6)[1,0]:[* * *]信號代碼:(6)(1,0):/ tmp / HorovodRunner_xx4 /發射。承憲:8號線:流產PYTHONPATH = 843 / local_disk0 /路徑。ephemeral_nfs / env / pythonEnv-xx / bin / python - c”從pyspark進口cloudpickle;cloudpickle.load (open(”函數。pkl, rb))(等級= $等級)”Primary job terminated normally, but 1 process returned a non-zero exit code. Per user-direction, the job has been aborted. -------------------------------------------------------------------------- -------------------------------------------------------------------------- mpirun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [[43658,1],0] Exit code: 134
Q2:
的最佳實踐是什麼日誌指標、模式、參數和所有想要的信息嗎?
當我試圖使用mlflow.autolog()我看到沒有記錄,當嚐試mlflow.pytorch.autolog()我有一個錯誤我沒有pytorch閃電模塊(模型pytorch模型)
第三季度:
作為轉換使用imgaug im自由的一部分,如果我安裝這個驅動程序和進口在訓練函數,這個模塊將存在於工人嗎?
編輯:
Q1:雖然錯誤不太具體,我很確定這個錯誤因為我有一個un-pickable對象出現在訓練功能。
修改後沒有錯誤和出現。
關於剩下的問題——我仍然沒能解決。
任何反饋將不勝感激。
謝謝!
@orian印地語:
關於你的問題:
Q1:你看到的錯誤消息可能是導致段錯誤,可發生由於各種原因如內存訪問違規或堆棧溢出。這可能是由多種因素引起的,包括一個錯誤在代碼中或與集群的配置問題。我建議檢查工人的資源分配,比如內存、CPU和GPU資源,以確保它們是適合您的培訓工作。同時,檢查是否PyTorch之間的版本兼容性,Horovod, Petastorm是正確的。你也可以考慮使用分布式PyTorch
DistributedDataParallel (DDP)模塊代替Horovod分布式訓練。
第二季:如果您使用的是PyTorch,您可以手動記錄指標和參數使用mlflow.log_metric MLflow()和mlflow.log_param()函數。您可以調用這些函數在訓練和評估記錄相關的度量標準和參數。此外,您可以使用UI MLflow的跟蹤你的培訓運行日誌和查看結果。對於PyTorch模型,您可以使用mlflow.pytorch.log_model訓練後()函數來記錄您的模型。
第三季:如果你安裝imgaug司機節點上,它不會自動可在工作節點。您需要確保imgaug包安裝在集群中所有節點上運行您的代碼培訓。要做到這一點的方法之一是在您的環境中包括imgaug設置腳本imgaug安裝或使用一個容器。