Limit number of cores used in Keras


I have a shared machine with 64 cores on which I have a big pipeline of Keras functions that I want to run. The thing is that it seems that Keras automatically uses all the cores available and I can’t do that.

I use Python and I want to run 67 neural networks in a for loop. I would like to use half of the available cores.

I can’t find any way of limiting the number of cores in Keras… Do you have any clue?

Asked By: Mohamed AL ANI



As @Yu-Yang suggested, I used these lines before each fit:

from keras import backend as K

Check the CPU usage (htop) :
htop example

Answered By: Mohamed AL ANI

As mentioned in this solution, (

if you want to use this using Tensforflow or Tensorflow_gpu, you can directly use the tf.config and feed it to the session:

config = tf.ConfigProto(intra_op_parallelism_threads=32, 

session = tf.Session(config=config)
Answered By: Shalini Maiti
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.