1 问题
如代码:
# Create TF session
if num_threads:
config_args = dict(intra_op_parallelism_threads=5) # 1 => 5
else:
config_args = {}
sess = tf.Session(config=tf.ConfigProto(**config_args))
2 解决
TensorFlow会根据 intra_op_parallelism_threads 参数的设置,将待实现的任务分配给各个线程。
因此这个参数会控制某项操作加速的最大并行数。
比如,你在TensorFlow中构建了一个计算图。其中有很多独立的计算,它们之间互不关联。
那么TensorFlow会根据 intra_op_parallelism_threads 设置的线程数,来同时运行它们。
参数的默认值是0,此时系统会选择合适的线程数,也就是会从每一个CPU核心中都选择一个线程来执行任务。