Skip to content

[已解決] simpletransformers 在訓練開始時卡住,不會繼續進行訓練

問題描述

今天我在測試 simpletransformers 這個知名的 Python NLP 深度學習套件時,我在個人筆電上遇到了模型在開始訓練時整個流程卡住的問題

我能確認這是一個奇怪的問題,並非完全由我個人所造成的。因為同樣的程式碼我可以在另外一台裝置正常運行。

經過查詢後,發現在 simpletransformers 的 GitHub issue 中有人跟我有一樣的問題。底下提到了一個比較奇妙的解決方法,照做之後我的問題確實解決了、模型開始往下訓練了。

底下是該解決方法的描述。


解決方法

首先,嘗試看看使用 CPU 而非 GPU 訓練。如果 CPU 可以訓練,則代表可能是 GPU 的環境安裝出了問題,建議仔細檢查一次。

然而若是使用 CPU 進行訓練仍然出現了訓練時進度卡住的問題,則可以嘗試看看以下參數與設定:

model_args = ClassificationArgs(
    use_multiprocessing=False,
    use_multiprocessing_for_evaluation=False,
)

os.environ["TOKENIZERS_PARALLELISM"] = "false"


簡單來說,就是把用到 multiprocessing多行程)的部份全部禁用。或許是 simpletransformers 在執行 multiprocessing 的操作時出現了 dead lock 的問題也說不定。

可以嘗試看看這個解決方法。如果將來我還有遇到類似問題卻能用不同的方式解決,也會一併更新於此。


References


Read More

Leave a Reply