PyTorch如何限制CPU線程數(shù)目
更新時間:2024年02月20日 10:30:48 作者:培之
這篇文章主要介紹了PyTorch如何限制CPU線程數(shù)目問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
PyTorch限制CPU線程數(shù)目
終端命令 htop
:查看 CPU 利用率
限制 python 的cpu 利用率:
import os cpu_num = 4 # 這里設置成你想運行的CPU個數(shù) os.environ["OMP_NUM_THREADS"] = str(cpu_num) # noqa os.environ["MKL_NUM_THREADS"] = str(cpu_num) # noqa torch.set_num_threads(cpu_num )
原因
tensor 沒有 .to('cuda')
,tensor 還是部署在 cpu 上,耗的是 cpu 的資源,導致 cpu 占用率過高。
在讀數(shù)據(jù)的時候設置 num_workers = 0,也可能會導致 cpu 占用率過高。
PyTorch程序占用較高CPU解決
在使用服務器運行PyTorch程序時,使用TOP命令查看CPU狀態(tài),發(fā)現(xiàn)CPU占用率竟然達到2000%,已經(jīng)影響到其他人正常使用服務器。
解決辦法
在main程序中加以下代碼:
torch.set_num_threads(1)
設置最多使用1個CPU核。問題解決~
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Python圖像形態(tài)學處理(開運算,閉運算,梯度運算)
數(shù)學形態(tài)學(Mathematical Morphology)是一種應用于圖像處理和模式識別領域的新方法。本文將為大家介紹Python圖像形態(tài)學處理中的開運算、閉運算和梯度運算,感興趣的可以了解一下2022-06-06