我重新安装了木星笔记本内核和python包,包括tensorflow 2.4.1 (使用miniconda env)。
当我训练和测试一个模型时,我的CPU使用量就饱和了。在我以前的安装中,这种情况不会发生( CPU使用率低),完成任务的时间也不一样。
是否有jupyter和/或tensorflow的配置?我在木星笔记本和VSCode上测试过,同样的问题也会发生。Ubuntu20.04 16×内存Intel Core™i5-8300HCPU@ 2.30GHz×8
训练简单网络模型时的CPU使用- htop视图
编辑:条件解决。
我在英特尔网站上做了深入的研究,发现了这个关于线程配置的链接。用于Tensorflow和openMP。我在下面对tensorflow 2.x部分参数进行了一些快速测试,没有给出任何改进。
代码语言:javascript复制import tensorflow as tf
tf.config.threading.set_inter_op_parallelism_threads()
tf.config.threading.set_intra_op_parallelism_threads()
tf.config.set_soft_device_placement(enabled)然后测试openMP设置,将OMP_NUM_THREADS从0更改为8,如下图所示:
螺纹
代码语言:javascript复制import os
os.environ["OMP_NUM_THREADS"] = “16”CPU使用减少,训练时间减少。
线程等于0
我不是ML基准测试方面的专家。刚刚修正了keras.Sequential()模型的网络训练参数和拓扑结构。不知道为什么我的CPU在默认情况下是最大的OMP_NUM_THREADS=16线程。