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


  • 當我使用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問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM