电脑有10核20线程应该怎么设置torch.utils.data.DataLoader 中 num_workers使得我数据加载最快?
官方指导
pytorch 官方解释为子进程(subprocesses)的数量
num_workers (int, optional) – how many subprocesses to use for data loading. 0 means that the data will be loaded in the main process. (default: 0)
参考
这里我们就需要搞定几个定义:核心数,线程数和进程
核心数,线程数和进程
核心:一个CPU具有的物理核心数(物理概念)
线程(thread):是CPU调度和分配的基本单位(逻辑概念)。
一个计算机可以并发(同时)的线程数,等于计算机上的逻辑处理器的个数(CPU个数 *每个CPU核心数 *每个内核线程数)
进程(process):是操作系统(OS)进行资源(CPU、内存、磁盘、IO、带宽等)分配的最小单位;
进程和线程的关系
另一个博客中