首页 > 编程开发 > Python    日期:2024-03-18 / 浏览

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的线程数量;

总结

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

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章

1 2 3 4 5