Pytorch限制或增加CPU使用的核數(shù)方式
Pytorch限制或增加CPU的核數(shù)
一般Pytorch 默認是使用一半的CPU運行的,有的時候用不到那么多得CPU資源或者占用太多資源擠壓別人,這就需要限制核數(shù)。
Pytorch提供了一個限制核數(shù)的代碼:
# cpu_num是一個整數(shù) torch.set_num_threads(cpu_num)
這樣就能夠限制核數(shù)。
Python獲取CPU的線程數(shù)量
在使用PyTorch搭建目標檢測模型時,我們需要設(shè)置最佳的數(shù)據(jù)讀取的進程數(shù)量;
我覺得,這個數(shù)量最好就設(shè)置成CPU的線程數(shù)量;
獲取CPU的線程數(shù)量
獲取CPU線程數(shù)量的代碼:
from multiprocessing import cpu_count print(cpu_count())
備注:
Python官方文檔中關(guān)于multiprocessing.cpu_count()的功能是這樣說的:
Return the number of CPUs in the system.
我先以為是文檔描述的不準確,后來
Andrew Svetlov在我的Python文檔Bug提交中告訴我:
CPU as a shortcut for "logical processor" is very common in software engineering.
所以這里的“the number of CPUs”實際上就是指的系統(tǒng)可以獲取到的CPU邏輯核心數(shù);
如果是對于單個CPU而言,那就是當前CPU的線程數(shù)量;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)示例代碼
這篇文章主要介紹了Python中的條件語句和循環(huán)語句,條件語句用于根據(jù)條件執(zhí)行不同的代碼塊,循環(huán)語句用于重復(fù)執(zhí)行一段代碼,文章還詳細說明了range函數(shù)的使用和continue與break語句的作用,需要的朋友可以參考下2025-02-02深入理解Python中的 __new__ 和 __init__及區(qū)別介紹
這篇文章主要介紹了深入理解Python中的 __new__ 和 __init__及區(qū)別介紹,這兩個方法的主要區(qū)別在于:__new__ 負責(zé)對象的創(chuàng)建而 __init__ 負責(zé)對象的初始化。具體內(nèi)容詳情大家跟隨小編一起看看吧2018-09-09Python中使用pypdf2合并、分割、加密pdf文件的代碼詳解
這篇文章主要介紹了Python中使用pypdf2合并、分割、加密pdf文件的代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05