visualización de tensorflow (visualización de tensorboard) -histograma, escalar

Escalar es una función que se utiliza para mostrar la tendencia de los cambios escalares, como precisión, entropía cruzada y abandono. A través de escalar, podemos ver un proceso de cambio gradual de estas cantidades a medida que se profundiza el entrenamiento, y luego podemos ver los pros y los contras de nuestro modelo.
Nota:
1) el escalar solo se puede usar para mostrar un solo escalar, no un tensor;
2) el escalar puede mostrar los resultados de varios entrenamientos

variable

Las variables pueden usar el método Tensorflow.histogram_summary ():

tf.histogram_summary(layer_name+"/weights",Weights) #name命名,Weights赋值

tf.histogram_summary (layer_name + "/ weights", Weights) #name 命名 , Weights 赋值

Escalar

1. Ponga la variable de registro en el proceso de flujo tensorial para construir el gráfico.

En el proceso de usar tensorflow para construir un gráfico, coloque operaciones de resumen donde necesite registrar el valor de la variable.
Use tf.summary.scalar para registrar escalares
Use tf.summary.histogram para registrar el histograma de datos
Use tf.summary.distribution para registrar la distribución de datos
Use tf.summary.image para registrar datos de imágenes
——————— ———— —————
Agregar código debajo del escalar que se mostrará:

tf.summary.scalar('loss', loss)  # 记录优化器的变化

Inserte la descripción de la imagen aquí
Nota: Use la misma configuración para entrenar varias veces y luego muestre los resultados en el mismo gráfico con los mismos datos. Ingrese a la carpeta donde se encuentra el registro, elimine los registros del historial y solo mantenga los resultados más recientes y una aparecerá el gráfico.

2. Fusionar operación de resumen

Antes de que se inicialice la variable tensorflow variable, combine las variables del punto de recolección y escríbalas en la ruta log_dir definida previamente.

 summaries合并
merged = tf.summary.merge_all()
# 写到指定的磁盘路径中
train_writer = tf.summary.FileWriter(log_dir + '/train', Session.graph) ##该句也可写在变量初始化后,或者训练流程后面
tf.global_variables_initializer().run()

Preste atención a la variable train_writer aquí, aquí es para definir la ubicación de almacenamiento de un mensaje, los datos recopilados más adelante en el proceso de entrenamiento deben escribirse en el archivo a través de esta variable.

3. Recopile datos durante el entrenamiento de la red

Lo siguiente es registrar los datos registrados durante el proceso de entrenamiento de la red.

#训练1k次  
for i in range(1000):  
  sess.run(train_step,feed_dict={
    
    xs:x_data,ys:y_data})  
  if i%50==0:  
    result = sess.run(merged,feed_dict={
    
    xs:x_data,ys:y_data}) #merged也是需要run的  
    train_writer.add_summary(result,i) #result是summary类型的,需要放入writer中,i步数(x轴) 

o

for i in range(1000):
        batch = mnist.train.next_batch(50)
        summary,_ = session.run([merged,train], feed_dict = {
    
    x:batch[0], y:batch[1], keep_prob:0.5})
        train_writer.add_summary(summary,i)
        if i % 100 == 0:
            print("step %4d: " % i)
            print(session.run(accuracy, feed_dict = {
    
    x:batch[0], y:batch[1], keep_prob:1}))
    print(session.run(accuracy, feed_dict = {
    
    x:mnist.test.images, y:mnist.test.labels, keep_prob:1}))
    train_writer.close()

4. Abrir tensorboard

Entra en el entorno virtual de tensorflow

tensorboard --logdir="自己存的地址"

Copie la URL que aparece y ábrala en la página web

Mostrar los resultados de varios entrenamientos

Para mostrar los resultados de varias sesiones de entrenamiento, se debe configurar un directorio diferente para FileWriter durante cada sesión de entrenamiento. Por ejemplo, los primeros ajustes de entrenamiento son los siguientes:

train_writer = tf.summary.FileWriter(log_dir + '/train', self.sess.graph)

Entonces, el segundo entrenamiento se puede configurar como:

train_writer = tf.summary.FileWriter(log_dir + '/train_1', self.sess.graph)

De esta forma, cuando se abre el tensorboard siguiendo los pasos convencionales, se mostrarán diferentes archivos de resultados de entrenamiento en el lado izquierdo del panel, si quieres abrir, solo verifica el archivo correspondiente.
Inserte la descripción de la imagen aquí
Cuando se marca más de una, se mostrarán diferentes imágenes en diferentes colores en la imagen. Debería ser posible implementar diferentes modelos, pero los resultados del entrenamiento están en un gráfico, solo la ruta de almacenamiento es la misma que train_writer)

Supongo que te gusta

Origin blog.csdn.net/zangba9624/article/details/103528742
Recomendado
Clasificación