Limit number of cores used in Keras

Mohamed AL ANI picture Mohamed AL ANI · Sep 26, 2017 · Viewed 18.4k times · Source

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?

Answer

Mohamed AL ANI picture Mohamed AL ANI · Sep 26, 2017

As @Yu-Yang suggested, I used this line before each fit I do :

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)))

Check the CPU usage (htop) : enter image description here