指定用于Keras Tensorflow模型推断的CPU

Ste*_*ven 10 python keras tensorflow

好的.我知道我们可以使用以下方法限制Keras(TF后端)模型使用的核心数量:

 K.set_session(K.tf.Session(config=K.tf.ConfigProto(intra_op_parallelism_threads=2, inter_op_parallelism_threads=2,  device_count = {'CPU': 2})))
Run Code Online (Sandbox Code Playgroud)

我们可以像这样指定单个张量运算:

with tf.device('/cpu:0'):
    a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
Run Code Online (Sandbox Code Playgroud)

但是,如果我们想要指定Keras模型使用的各个CPU列表呢?

Tay*_*510 3

我不认为你可以改变 Tensorflow 中的处理器亲和力,这是操作系统的级别。

不过,Linux 有一个有用的工具taskset可以帮助您。

例如,

taskset --cpu-list 0,1 python3 main.py

将把 core 0 和 core 1 分配给正在运行的进程python3 main.py

您可以使用 来验证这一点htop