2016-04-12 34 views
1

'da bir en iyileştirici tarafından en aza indirilen kayıp değerini yazdırma Bir iyileştirici tarafından en aza indirilen kayıp değerini yazdırmak istiyorum. Ben onun küçültülmüş değerini yazdırmak, nasıl Şimdi mean_squared_error minimize olduğunuTensorFlow

LEARNING_RATE = 0.0001 
MOMENTUM = 0.999 

mean_squared_error = tf.reduce_mean(tf.square(tf.sub(predictions, training_outputs))) 
train_step = tf.train.MomentumOptimizer(LEARNING_RATE, MOMENTUM).minimize(mean_squared_error) 

# Load data 
features = ... 
labels = ... 

# Launch TensorFlow session 
with tf.Session() as session: 
    session.run(initialize) 

    print("Begin training...") 
    session.run(train_step, feed_dict={training_inputs: features, training_outputs: labels}) 
    print("Finished training! The mean squared error is: _____") 

: İşte bir örnek?

mean_squared_error = tf.reduce_mean(tf.square(tf.sub(predictions, training_outputs))) 
loss_summ = tf.scalar_summary("loss", mean_squared_error) 

Ardından TensorFlow oturumunda bir yazar oluşturmak ve sess.run() çağrısına özeti loss_summ ekleyin:

cevap

2

kaybına görselleştirmek için en kolay yolu ona bir sayıl özetini yaratmaktır. Daha sonra değeri mse_val'a geri alırsınız ve yazdırabilirsiniz.

with tf.Session() as session: 
    writer = tf.train.SummaryWriter("log", session.graph_def) 
    session.run(initialize) 

    print("Begin training...") 
    _, mse_val, summ = session.run([train_step, mean_squared_error, loss_summ], feed_dict={training_inputs: features, training_outputs: labels}) 
    writer.add_summary(summ) 
    print("Finished training! The mean squared error is: %f" % mse_val) 

bir bonus olarak, hatta (daha fazla ayrıntı için this tutorial okuyun) tensorboard --logdir log çalıştırarak, TensorBoard kaybın evrimini görselleştirmek.

Not: kodunuz sadece eğitimin 1 yinelemesini çalıştırır, bir döngü eklemek isteyebilirsiniz.

+0

Yorumunuzu destekledim ve önerilerinizi denediğimde ve gereksinimlerimi karşıladıklarını öğrendiğimde bunu kabul edeceğim. Yardımın için çok teşekkürler! Bunu gerçekten takdir ediyorum. –

+0

Kodunuzu çalıştırdım ve bir TypeError: Traceback (en son çağrı son): Dosya "/home/me/PycharmProjects/Test/Prediction.py", satır 77, ("Bitirilmiş eğitim!)" Ortalama karesi hatası:% f "% mean_squared_error_value) TypeError: float argümanı gerekli, str değil. % S' ile '% f' yerine ikame ettim, ama bunun yerine anlamını anlamsız hale getirdim ... –

+0

Üzgünüm, değerini almak için' session.query_error' 'session.run()' a eklemelisiniz. İlk cevabımı değişikliklerle düzenledim, teşekkürler! –