Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow摘要:评估前如何获取项目_Python_Tensorflow - Fatal编程技术网

Python Tensorflow摘要:评估前如何获取项目

Python Tensorflow摘要:评估前如何获取项目,python,tensorflow,Python,Tensorflow,我想在tensorflow中获得使用模型创建的摘要列表。我知道 在从summary\u proto对象对其求值之前,是否可以获得摘要键列表?我需要它来初始化一个列表字典,在这里我将存储每个时代的摘要,而不是存储字典列表 summary_proto = tf.Summary() 使用以下代码,可能最容易根据需要初始化列表字典: train_op = ... summary_op = tf.merge_all_summaries() summaries = {} sess = tf.Sessi

我想在
tensorflow
中获得使用模型创建的摘要列表。我知道

在从
summary\u proto
对象对其求值之前,是否可以获得摘要键列表?我需要它来初始化一个列表字典,在这里我将存储每个时代的摘要,而不是存储字典列表

summary_proto = tf.Summary()

使用以下代码,可能最容易根据需要初始化列表字典:

train_op = ...
summary_op = tf.merge_all_summaries()

summaries = {}

sess = tf.Session()

for _ in range(NUM_EPOCHS):
  _, summary_str = sess.run([train_op, summary_op], feed_dict=feed_dict)
  summary_proto = tf.Summary()
  summary_proto.ParseFromString(summary_str)

  for val in summary_proto.value:
    try:
      list_for_tag = summaries[val.tag]
    except KeyError:
      list_for_tag = []
      summaries[val.tag] = list_for_tag

    # Assuming all summaries are scalars.
    list_for_tag.append(val.simple_value)

但是,为了回答您的原始问题,可以通过评估单个摘要ops的
标记输入来获取单个标记(很可能不取决于培训结果):

summaries = {}

sess = tf.Session()

all_summary_tensors = tf.get_collection(tf.GraphKeys.SUMMARIES)

for summary_t in all_summary_tensors:
  tag_input = summary_t.op.inputs[0]  # The tag input is the 0th input.
  tags = sess.run(tag_input)

  if isinstance(tags, str):
    summaries[tags] = []
  else:
    for tag in tags.flatten():
      summaries[tag] = []