2016-03-28 24 views
2

tensorflow'un SummaryWriter'i kullanmaya çalışıyorum, ancak dosya, olay ya da histogramları dosyaya yazmıyor gibi görünüyor. Ancak, grafiğe dosya yazıyor (daha sonra tensörde görebiliyorum), en azından tensorboard ve Özet Yazıcımın logtu'm nerede olduğunu bildiğini gösteriyor. İşteSummaryWriter özetleri dosyaya yazmıyor

ihmal kod blokları tarafından kırılmış benim (basitleştirilmiş) kodudur:

sess = tf.Session() 
W_conv1 = tf.Variable(tf.truncated_normal([5,5,3, hidden1_size], stddev = 0.01), name = 'W_conv1') 
b_conv1 = tf.Variable(tf.constant(0.01, shape=[hidden1_size]), name = 'b_conv1') 

#to visualize the weights of the first layer... 
sum2 = tf.image_summary('first layer weights', tf.transpose(W_conv1, perm = [3, 0, 1, 2]), max_images = 16) 

h_conv1 = tf.nn.relu(b_conv1 + conv(x, W_conv1)) 

#to visualize how many dead relu's we have 
sum1 = tf.scalar_summary('conv1', tf.nn.zero_fraction(h_conv1)) 

.... Daha tabakalar

softmax = {} 
cross_entropy = tf.Variable(0.0) 
softmax[0] = tf.nn.softmax(fc_out) 
cross_entropy += -tf.reduce_sum(y_*tf.log(softmax[0])) 

.... Reccurrent Bölüm

sum3 = tf.histogram_summary('cross entropy', cross_entropy) 


lr = tf.Variable(tf.constant(1e-3)) 
lr_change = tf.assign(lr, tf.mul(.1, lr)) 

train_step = tf.train.AdamOptimizer(lr).minimize(cross_entropy) 

merged=tf.merge_all_summaries() 
writer = tf.train.SummaryWriter("./logs", sess.graph_def, flush_secs = 5) 

sess.run(tf.initialize_all_variables()) 

.... ve sonra eğitim kodu:

,

No scalar summary tags were found.

Maybe data hasn't loaded yet, or maybe you need to add some >tf.scalar_summary ops to your graph, and serialize them using the >tf.training.summary_io.SummaryWriter.

nedeniyle github üzerinde hem yığın borsasında arama yaptıktan sonra, writer.flush() deyimi eklendi: Ben tensorboard yük ve olaylar sekmesine baktığınızda

for i in range(train_iter): 
    batch_i = np.random.randint(0, len(X_t), [batch_size]) 
    X_batch = X_t[batch_i] 
    y_batch = y_t[batch_i] 

    summary_str, _, loss = sess.run([merged, train_step, cross_entropy], feed_dict = {x: X_batch, y_: y_batch}) 

    writer.add_summary(summary_str, i) 
    writer.flush() 
    saver.save(sess, 'RNN_model.ckpt', global_step = i) 

Sonra aşağıdaki hatayı bakın Bu ortak bir öneridir. Sorun çözülmedi.

Günlükler dosyamda, yalnızca graph_def yazılır, eğitim sırasında başka dosya yazılmaz.

0SX el-capitan'da tensorflow '0.7.1' kullanıyorum.

Teşekkürler!

+0

Kişisel TensorBoard/özet kullanımı doğru görünüyor. Olay dosyasına yalnızca graph_def yazıldığından emin misiniz? Yükleyebilir misin? Sonra, histogram özetleri, vb yazılı olup olmadığını kontrol edebilir ve sorunun TensorBoard veya olay yazma koduyla olup olmadığını kontrol edebilirim. – dandelion

+0

Elbette, çok teşekkürler! https://drive.google.com/file/d/0B5GqMWTiEZZAR2gyU3RiWDFzMVE/view?usp=sharing p.s. Bence sadece grafik bc. Ağı tanımladığımda sadece bir kez yazarım, fakat eğitim sırasında asla. –

+0

[openai/InfoGAN] adlı örnek Docker denemesini çalıştırarak aynı şeyi fark ettim (https://github.com/openai/InfoGAN#running-experiment). Sadece başlangıçta bir günlüğü çıkar, ancak eğitimden sonra hiçbir şey çıkarmaz. – NHDaly

cevap

0

Bu eski bir yazı olduğunu biliyorum, ancak TensorFlow 1.1.0 çalıştıran sanal bir ortamda aynı şeyi yaşıyordum. 1.2.1 sürümünü çalıştırıyorum Bu problemi görmüyorum. Sen koşuyoruz TensorFlow sürümünü belirlemek için komut satırında aşağıdaki yürütebilirsiniz:

python -c "import tensorflow as tf; print(tf.__version__)" 

dışarısı birisi yardımcı olur umarım!

Alkış,

-Maashu

İlgili konular