1. 程式人生 > >解決運行pytorch程序多線程問題

解決運行pytorch程序多線程問題

org int blank htm 使用 大量 reads 服務器 exp

  • 當我使用pycharm運行 (https://github.com/Joyce94/cnn-text-classification-pytorch ) pytorch程序的時候,在Linux服務器上會開啟多個進程,占用服務器的大量的CPU,在windows10上運行此程序的時候,本機的CPU和內存會被吃光,是因為在train.py中有大量的數據訓練處理,會開啟多個進程,占用大量的CPU和進程。
  • 本機window10
  • 技術分享

  • linux服務器開啟了多個進程
  • 技術分享

  • Linux服務器占用大量CPU
  • 技術分享

  • 在pytorch中提供了(http://pytorch.org/docs/master/multiprocessing.html)muliprocessing多進程管理,其中有Pool進程池、Process()等對進程進行管理,可能是我使用的方式不對,反正是沒有什麽效果。
  • 然而最簡單的也是最好的解決辦法 :torch.set_num_threads(int thread) ,可以很好的解決windows問題,參考(http://pytorch.org/docs/master/torch.html#parallelism) 然而,在linux服務器上還是有一些問題的,export OMP_NUM_THREADS = 1 可以解決Linux問題。

解決運行pytorch程序多線程問題