intra_op_parallelism_threads参数设置

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 解决

https://stackoverflow.com/questions/41233635/meaning-of-inter-op-parallelism-threads-and-intra-op-parallelism-threads 中给出了一些回答。

TensorFlow会根据 intra_op_parallelism_threads 参数的设置,将待实现的任务分配给各个线程。

因此这个参数会控制某项操作加速的最大并行数。

比如,你在TensorFlow中构建了一个计算图。其中有很多独立的计算,它们之间互不关联。
那么TensorFlow会根据 intra_op_parallelism_threads 设置的线程数,来同时运行它们。

参数的默认值是0,此时系统会选择合适的线程数,也就是会从每一个CPU核心中都选择一个线程来执行任务。

你可能感兴趣的:(TensorFlow)