如何减少 Tensorlfow/Keras 使用的 CPU 数量?

Pop*_*Pop 8 python keras tensorflow

我正在使用 Tensorflow 2.0 的 Keras api。

在调用fit我的 Keras 模型时,它使用所有可用的 CPU。

我想限制使用的 CPU 的数量。然而,它曾经在以前版本的 Tensorflow 中工作的方式不能再使用了:

tf.keras.backend.set_session(tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(
       intra_op_parallelism_threads=2, inter_op_parallelism_threads=2)))
Run Code Online (Sandbox Code Playgroud)

AttributeError:模块“tensorflow.python.keras.api._v2.keras.backend”没有属性“set_session”

我怎么能那样做?

Man*_*han 6

在 Tensorflow 2.0 中,不再有会话。在 Eager Execution 中,直接使用 config API 在程序开始时像这样设置并行度。

import tensorflow as tf

tf.config.threading.set_intra_op_parallelism_threads(2)
tf.config.threading.set_inter_op_parallelism_threads(2)
with tf.device('/CPU:0'):
    model = tf.keras.models.Sequential([...
Run Code Online (Sandbox Code Playgroud)

https://www.tensorflow.org/api_docs/python/tf/config/threading