我有一个64核的共享机器,我有一大堆Keras功能,我想运行它。事情是,似乎Keras自动使用所有可用的核心,我不能这样做。
我使用Python,我想在for循环中运行67个神经网络。我想使用一半的可用内核。
我找不到任何限制Keras核心数量的方法......你有什么线索吗?
答案 0 :(得分:18)
正如@Yu-Yang建议的那样,我在每次合适之前都使用过这条线:
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)))
答案 1 :(得分:0)
如该解决方案中所述,(https://stackoverflow.com/a/54832345/5568660)
如果您想通过Tensforflow或Tensorflow_gpu使用它,则可以直接使用tf.config并将其提供给会话:
config = tf.ConfigProto(intra_op_parallelism_threads=32,
inter_op_parallelism_threads=32,
allow_soft_placement=True)
session = tf.Session(config=config)