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})