Pytorch限制或增加CPU使用的核数方式

 更新时间:2024年02月20日 10:41:05   作者:一穷二白到年薪百万  
这篇文章主要介绍了Pytorch限制或增加CPU使用的核数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Pytorch限制或增加CPU的核数

一般Pytorch 默认是使用一半的CPU运行的,有的时候用不到那么多得CPU资源或者占用太多资源挤压别人,这就需要限制核数。

Pytorch提供了一个限制核数的代码:

# cpu_num是一个整数
torch.set_num_threads(cpu_num)

这样就能够限制核数。

Python获取CPU的线程数量

在使用PyTorch搭建目标检测模型时,我们需要设置最佳的数据读取的进程数量;

我觉得,这个数量最好就设置成CPU的线程数量;

获取CPU的线程数量

获取CPU线程数量的代码:

from multiprocessing import cpu_count
print(cpu_count())

备注:

Python官方文档中关于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”实际上就是指的系统可以获取到的CPU逻辑核心数;

如果是对于单个CPU而言,那就是当前CPU的线程数量;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中顺序结构和循环结构示例代码

    Python中顺序结构和循环结构示例代码

    这篇文章主要介绍了Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使用和continue与break语句的作用,需要的朋友可以参考下
    2025-02-02
  • 深入理解Python中的 __new__ 和 __init__及区别介绍

    深入理解Python中的 __new__ 和 __init__及区别介绍

    这篇文章主要介绍了深入理解Python中的 __new__ 和 __init__及区别介绍,这两个方法的主要区别在于:__new__ 负责对象的创建而 __init__ 负责对象的初始化。具体内容详情大家跟随小编一起看看吧
    2018-09-09
  • python中NumPy的安装与基本操作

    python中NumPy的安装与基本操作

    Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组,也没有各种运算函数,因而不适合数值运算,NumPy的出现弥补了这些不足,这篇文章主要给大家介绍了关于python中NumPy的安装与基本操作的相关资料,需要的朋友可以参考下
    2022-03-03
  • python中re.findall() 的使用案例

    python中re.findall() 的使用案例

    re.findall() 函数是 python 中正则表达式模块(re)的一个重要函数,它可以根据正则表达式搜索字符串,并返回匹配的字符串列表,这篇文章给大家介绍了python中re.findall() 的使用案例,感兴趣的朋友跟随小编一起看看吧
    2023-09-09
  • 详细介绍Python的鸭子类型

    详细介绍Python的鸭子类型

    相信python的开发者对于python的鸭子类型比较熟悉,鸭子类型在维基百科中的准确定义是‘是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定’。所以这篇文章给大家python的鸭子类型。
    2016-09-09
  • Python引用传值概念与用法实例小结

    Python引用传值概念与用法实例小结

    这篇文章主要介绍了Python引用传值概念与用法,简单分析了Python引用传值的概念、功能并结合实例形式总结分析了Python引用传值的具体实现与使用方法,需要的朋友可以参考下
    2017-10-10
  • Python图像处理之图像融合与ROI区域绘制详解

    Python图像处理之图像融合与ROI区域绘制详解

    这篇文章将详细讲解图像融合处理和ROI区域绘制,同时补充图像属性、通道和类型转换。文中的示例代码讲解详细,需要的可以参考一下
    2022-01-01
  • Python列表pop()函数使用实例详解

    Python列表pop()函数使用实例详解

    这篇文章主要介绍了Python列表pop()函数使用实例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Python中使用pypdf2合并、分割、加密pdf文件的代码详解

    Python中使用pypdf2合并、分割、加密pdf文件的代码详解

    这篇文章主要介绍了Python中使用pypdf2合并、分割、加密pdf文件的代码,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Python关于OS文件目录处理的实例分享

    Python关于OS文件目录处理的实例分享

    在本篇文章里小编给大家整理的是一篇关于Python关于OS文件目录处理的实例内容,有兴趣的朋友们可以学一下。
    2021-05-05

最新评论