pytorch代码 在top指令下CPU%占用过高的解决办法
问题如下:深度学习使用的torch框架,并且代码中设置gpu使用正常,但是在top指令下发现了这样的问题:
问题分析:
正确设置了使用GPU加载数据到模型中,但是仍然出现很大的CPU占用率,高达2000%,也即占满了20个CPU核心(服务器一共40个)。这种情况在我处理音频采样率为8192时并不明显,当我把采样率换成原始采样率(44100Hz)时,出现了这种情况(有可能与数据有关)。造成这种情况的原因很可能是我的数据采样点的突然增大,触发了多线程机制。
解决办法:在加载模型到GPU上后,使用
OMP_NUM_THREADS=num_threads
或者
torch.set_num_threads(num_threads)
即可解决。num_threads为int,指定使用的CPU线程数。