open learning accuracy tensorflow

tensorflow - learning - Cómo crear manualmente un tf.Summary()



tensorboard open (3)

Necesitaba hacer muchas actualizaciones a la variable de resumen personalizada durante la capacitación, así que implementé la mía así:

Antes del ciclo:

writer = tf.summary.FileWriter(log_folder) accuracy = None accuracy_summary = tf.Summary() accuracy_summary.value.add(tag=''accuracy'', simple_value=accuracy)

Dentro del ciclo:

if i%20000 == 0: accuracy = get_accuracy() accuracy_summary.value[0].simple_value = accuracy writer.add_summary(accuracy_summary, i)

Supongo que los índices para value están en el orden en que se agregaron las variables al resumen.

A menudo quiero registrar variables de python, a diferencia de tf tensores.

En los documentos dice que "puede pasar un tf.Summary protocolo de tf.Summary que tf.Summary con sus propios datos", pero no hay documentos para el tf.Summary y no pude encontrar la manera de usarlo.

¿Alguien sabe cómo crear un resumen escalar de esta manera?


Puede crear un objeto tf.Summary en su programa Python y escribirlo en el mismo objeto tf.summary.FileWriter que toma los resúmenes producidos por TensorFlow usando el método SummaryWriter.add_summary() .

La clase tf.Summary es un contenedor de buffer de protocolo Python para el buffer de protocolo de Summary . Cada Summary contiene una lista de tf.Summary.Value protocolo tf.Summary.Value , que tienen una etiqueta y un valor "simple" (escalar en coma flotante), una image , un histogram o un fragmento de audio . Por ejemplo, puede generar un resumen escalar de un objeto Python de la siguiente manera:

writer = tf.train.SummaryWriter(...) value = 37.0 summary = tf.Summary(value=[ tf.Summary.Value(tag="summary_tag", simple_value=value), ]) writer.add_summary(summary)


Si desea registrar un valor de python, debe crear un marcador de posición que debe alimentarse al ejecutar el tf.Summary op.

Aquí hay un código cortado

value_ = tf.placeholder(tf.float32, []) summary_op = tf.scalar_summary("value_log", value_) my_python_variable = 10 # define everything else you need... # ... with tf.Session() as sess: for i in range(0, 10): sess.run(summary_op, feed_dict={value_: my_python_variable*i})