python - 如何减少 Tensorlfow/Keras 使用的 CPU 数量?
问题描述
我正在使用 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)))
AttributeError:模块'tensorflow.python.keras.api._v2.keras.backend'没有属性'set_session'
我怎么能那样做?
解决方案
在 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([...
https://www.tensorflow.org/api_docs/python/tf/config/threading
推荐阅读
- python - 如何为墙壁添加边界?
- python - 为什么这段代码没有完全运行?它不运行第 53 行
- python - 使用 WebDav API 和 Python 请求下载 NextCloud 文件
- react-i18next - react-i18next 中“cimode”的含义是什么,为什么没有正确记录?
- javascript - How to add a conditional scroll based on window size?
- python - 使用 pydicom 将 DICOM 文件中的音频数据转换为 numpy 数组
- android - 即使设备处于打盹模式,如何使重复警报工作
- visual-studio-code - 无法在 Visual Studio 代码中禁用建议
- sql-server - 触发器中 SELECT 的输出在哪里?
- firebase - 设置 Cloud Firestore 位置 Firebase