2017-09-26 97 views
3

我有一个64核心的共享机器,在这个机器上我有一大串我想运行的Keras函数。问题是,Keras似乎自动使用所有可用的内核,但我无法做到这一点。Keras中使用的核心数量有限

我使用Python,我想在for循环中运行67个神经网络。我想用一半的可用内核。

我找不到任何限制Keras内核数量的方法......你有什么线索吗?

+1

TensorFlow后台? –

+0

@于洋是的!我使用张量流后端 –

+3

尝试添加'从keras导入后端作为K; K.set_session(K.tf.Session(config = K.tf.ConfigProto(intra_op_parallelism_threads = 32,inter_op_parallelism_threads = 32)))'在运行模型之前。 –

回答

3

正如@宇扬建议,我用这条线之前,每个适合我做的:

from keras import backend as K 
K.set_session(K.tf.Session(config=K.tf.ConfigProto(intra_op_‌​parallelism_threads=‌​32, inter_op_parallelism_threads=32))) 

检查CPU使用率(HTOP): enter image description here

+1

有关信息,为了完成答案,在这里你是TF ConfigProto,包含所有选项 https://github.com/tensorflow/tensorflow/blob/r1.4/tensorflow/core/protobuf/config.proto –