码迷,mamicode.com
首页 > 编程语言 > 详细

解决运行pytorch程序多线程问题

时间:2017-09-04 22:32:12      阅读:2057      评论:0      收藏:0      [点我收藏+]

标签:进程管理   alt   image   数据   har   set   分享   处理   pool   

  • 当我使用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程序多线程问题

标签:进程管理   alt   image   数据   har   set   分享   处理   pool   

原文地址:http://www.cnblogs.com/bamtercelboo/p/7097933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!