【发布时间】:2021-03-13 02:18:06
【问题描述】:
我想限制 CPU 内核和线程。 所以我找到了三种方法来限制这些。
1) “Keras 后端 + Tensorflow”
from keras import backend as K
import tensorflow as tf
config = tf.ConfigProto(intra_op_parallelism_threads=2, \
inter_op_parallelism_threads=4, \
allow_soft_placement=True, \
device_count = {'CPU': 1})
session = tf.Session(config=config)
K.set_session(session)
2) “来自 Tensorflow 的 Keras”
import tensorflow as tf
from tensorflow import keras
tf.config.threading.set_intra_op_parallelism_threads(2)
tf.config.threading.set_inter_op_parallelism_threads(4)
3) “来自 Tensorflow 的 keras”
import os
os.environ['TF_NUM_INTRAOP_THREADS'] = '2'
os.environ['TF_NUM_INTEROP_THREADS'] = '4'
这三种方式效果一样吗?
最后我理解了我在下面写的参数
- intra_op_parallelism_threads("CPU 核心数")
- inter_op_parallelism_threads("线程数")
这是对的吗? 如果我误解了,请告诉我。
谢谢。
【问题讨论】:
标签: python keras tensorflow2