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

Python 指定用于Keras Tensorflow模型推断的CPU,python,tensorflow,keras,Python,Tensorflow,Keras,好的。我知道我们可以使用以下方法限制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}))) 我们可以指定单独的张量运算,如下所示: with tf.device('/cpu:0'): a = tf.consta

好的。我知道我们可以使用以下方法限制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})))
我们可以指定单独的张量运算,如下所示:

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')

但是,如果我们想指定Keras模型要使用的单个CPU的列表,该怎么办

我认为您无法更改Tensorflow中的处理器亲和力,这是操作系统的级别

但是,Linux有一个有用的工具
taskset
来帮助您

比如说,

taskset——cpu列表0,1 python3 main.py

将核心0和核心1分配给运行
python3 main.py
的进程


您可以使用
htop

验证这一点,这可能会有所帮助:Hi@AbhishekSingh。不,不幸的是,这个线程是关于限制内核的数量,而不是指定要在哪些内核上运行进程。哇,就在我花了几个小时想出这个解决方案并最终成功的时候,我读了你的答案…-。-希望其他人在搜索之前会阅读它,因为这个解决方案非常有效(+1!)