张量流剖面说明

时间:2018-10-17 09:04:08

标签: tensorflow keras

enter image description here

我使用tensorflow配置文件来测试模型的推断,这是配置文件的详细信息。我发现有0,1,2,3,四个数字,其中12用空白填充。那么0-4的含义是什么,为什么12中有空格。 机器有80个核心,这是否意味着推理过程仅占据其中的4个核心? 谢谢。

1 个答案:

答案 0 :(得分:0)

我想每一行都对应于每个运行工作程序的工作线程。  因此,您所说的推理处理仅占用4个核心。

时,Tensorflow使用多线程
  1. 有一些独立的图形部分。
  2. 有一个使用多线程的运算符。

如果图形中有许多独立的图形部分,则可以有效地使用多核。

在以下代码中,图具有许多独立的图部分。因此,探查器中的行数与“ inter_op_parallelism_threads”匹配。

config = tf.ConfigProto(inter_op_parallelism_threads=5, intra_op_parallelism_threads=1)

with tf.device("/cpu:0"):
    list_r = []

    for i in range(80):
        r = tf.random_normal(shape=[100, 100])
        list_r.append(r)

    v = tf.add_n(list_r)


global_step = tf.train.create_global_step()
hook = tf.train.ProfilerHook(save_steps=1)
increment_global = global_step.assign_add(1)


with tf.train.SingularMonitoredSession(hooks=[hook], config=config) as sess:
    sess.run([v, increment_global])

如果您想了解ConfigProto的详细信息,可以从https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/protobuf/config.proto

获取信息。