2017-10-14 5 views
1

J'ai écrit le code mnist en utilisant Multi Layer Perceptrons. Mais il ne montre pas les scalaires de la précision et la fonction de perte (mais il montre avec succès un graphique d'un modèle) Si vous le savez, pourriez-vous me donner un indice? Version Tensorflow: 1.2.0Le tableau de la tenseur n'affiche pas les scalaires

Voici les fonctions que je souhaite afficher dans Tensorboard.

def loss(label,y_inf): 
    # Cost Function basic term 
    with tf.name_scope('loss'): 
     cross_entropy = -tf.reduce_sum(label * tf.log(y_inf)) 
    tf.summary.scalar("cross_entropy", cross_entropy) 
    return cross_entropy 



def accuracy(y_inf, labels): 
    with tf.name_scope('accuracy'): 
     correct_prediction = tf.equal(tf.argmax(y_inf, 1), tf.argmax(labels, 1)) 
     accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) 
    tf.summary.scalar("accuracy", accuracy) 
    return accuracy 

Répondre

1

Une chose que vous pourriez manquer est d'aller chercher ces résumés et de les écrire sur le disque.

D'abord, vous devez définir une FileWriter:

fw = tf.summary.FileWriter(LOGS_DIR) # LOGS_DIR should correspond to the path you want to save the summaries in 

Ensuite, fusionner tous vos résumés en une seule op:

summaries_op = tf.summary.merge_all() 

Maintenant, dans votre boucle de formation, assurez-vous que vous écrivez la résumés sur le disque:

for i in range(NUM_ITR): 
    _, summaries_str = sess.run([train_op, summaries_op]) 
    fw.add_summary(summaries_str, global_step=i) 

pour voir ces résumés en terme de tensorboard:

tensorboard --logdir=LOGS_DIR