CPU コアとスレッドを制限したい。そこで、これらを制限する 3 つの方法を見つけました。
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)「テンソルフローのケラス」
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'
これらの 3 つの方法は同じ影響ですか?
最後に、以下に書いたようなパラメーターについて理解しました
- intra_op_parallelism_threads("CPUコア数")
- inter_op_parallelism_threads("スレッド数")
これは正しいですか?わからない場合はお知らせください。
ありがとうございました。