红联Linux门户
Linux帮助

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

发布时间:2017-07-01 10:59:16来源:linux网站作者:bamtercelboo
当我使用pycharm运行(https://github.com/Joyce94/cnn-text-classification-pytorch )  pytorch程序的时候,在Linux服务器上会开启多个进程,占用服务器的大量的CPU,在windows10上运行此程序的时候,本机的CPU和内存会被吃光,是因为在train.py中有大量的数据训练处理,会开启多个进程,占用大量的CPU和进程。
 
本机window10
解决运行pytorch程序多线程问题
 
linux服务器开启了多个进程
解决运行pytorch程序多线程问题
 
Linux服务器占用大量CPU
解决运行pytorch程序多线程问题
 
在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问题。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31814.html