2016-03-28 11 views
2

テンソルフローのSummaryWriterを使用しようとしていますが、イベント、イメージ、またはヒストグラムをファイルに書き込んでいないようです。しかしグラフはファイルに書き込まれます(テンソルボードで見ることができます)。少なくとも、テンソルボードを示し、SummaryWriterはlogdirの場所を知っています。ここSummaryWriterがファイルに要約を書き込んでいません

省略コードブロックによって分割私の(簡体字)コードである:

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

....以上の層

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パート

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

....そしてトレーニングコード:

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) 
その後

私はtensorboardをロードし、イベントタブを見て、私は次のエラーを参照してください。

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.

私はgithubの上の両方のスタック交換に検索した後ので、writer.flush()ステートメントを追加、それは一般的な提案です。問題は修正されていません。

私のログファイルには、graph_defのみが書かれており、トレーニング中に他のファイルは書き込まれません。

mac 0SX el-capitanでtensorflow '0.7.1'を使用しています。

ありがとうございます!

+0

あなたのTensorBoard /要約の使用率が正しく見えます。 graph_defだけがイベントファイルに書き込まれていますか?あなたはそれをアップロードできますか?次にヒストグラムサマリなどが書かれているかどうかをチェックし、問題がTensorBoardかイベント書き込みコードかどうかを調べることができます。 – dandelion

+0

本当にありがとう! https://drive.google.com/file/d/0B5GqMWTiEZZAR2gyU3RiWDFzMVE/view?usp=sharing p.s.私はそれがグラフbcだと思う。私はネットワークを定義すると一度だけファイルを書きますが、トレーニング中は決して書きません。 –

+0

私は、[openai/InfoGAN](https://github.com/openai/InfoGAN#running-experiment)からサンプルのDocker実験を実行することで同じことに気付きました。 開始時のみログを出力しますが、トレーニング後は何も出力しません。 – NHDaly

答えて

0

これは古い投稿ですが、TensorFlow 1.1.0を実行している仮想環境でも同じことが起こりました。バージョン1.2.1の実行この問題はないようです。あなたが実行しているTensorFlowのバージョンを確認するには、コマンドラインで次のように実行することができます。

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

が、それはそこに誰かに役立ちます願っています!

乾杯、

-Maashu

関連する問題