私はTensorBoardの最も簡単な1Dの例を作成しました(二次関数の最小化を追跡します)が、私には意味をなさないプロットが得られます。自分の実装ですか、TensorBoardバグですか?ここでTensorFlowで1Dの例のTensorBoardヒストグラムを読み取るにはどうすればよいですか?
はプロットである:
ヒストグラム:
通常、私は確率分布(または頻度カウント)をコードする棒グラフとしてヒストグラムを考えます。私は、y軸は値を表し、x軸は数を表していると仮定します。私の歩数は合理的な推測のように120だったので、
とスカラープロット:
なぜ私のプロットを通過する奇妙なラインはありますか?
(あなたがそれをコピー&ペーストし、それを実行することができるはずです)生成されたコード:
## run cmd to collect model: python playground.py --logdir=/tmp/playground_tmp
## show board on browser run cmd: tensorboard --logdir=/tmp/playground_tmp
## browser: http://localhost:6006/
import tensorflow as tf
# x variable
x = tf.Variable(10.0,name='x')
# b placeholder (simualtes the "data" part of the training)
b = tf.placeholder(tf.float32)
# make model (1/2)(x-b)^2
xx_b = 0.5*tf.pow(x-b,2)
y=xx_b
learning_rate = 1.0
# get optimizer
opt = tf.train.GradientDescentOptimizer(learning_rate)
# gradient variable list = [ (gradient,variable) ]
gv = opt.compute_gradients(y,[x])
# transformed gradient variable list = [ (T(gradient),variable) ]
decay = 0.9 # decay the gradient for the sake of the example
# apply transformed gradients
tgv = [ (decay*g, v) for (g,v) in gv] #list [(grad,var)]
apply_transform_op = opt.apply_gradients(tgv)
# track value of x
x_scalar_summary = tf.scalar_summary("x", x)
x_histogram_sumarry = tf.histogram_summary('x_his', x)
with tf.Session() as sess:
merged = tf.merge_all_summaries()
tensorboard_data_dump = '/tmp/playground_tmp'
writer = tf.train.SummaryWriter(tensorboard_data_dump, sess.graph)
sess.run(tf.initialize_all_variables())
epochs = 120
for i in range(epochs):
b_val = 1.0 #fake data (in SGD it would be different on every epoch)
# applies the gradients
[summary_str_apply_transform,_] = sess.run([merged,apply_transform_op], feed_dict={b: b_val})
writer.add_summary(summary_str_apply_transform, i)
私は、統計のオーバーフローに関して同様の味付けされた質問をしました:http://stats.stackexchange.com/questions/220491/how-does-one-interpret-histograms-given-by-tensorflow-in-tensorboard私は、私はバグを作ったと思っていますが、グラフは私にとって奇妙に見えます。 – Pinocchio
複数のイベントファイルがあるようですが、最後の –
@OlivierMoindrot興味のあるもの以外はすべて削除してください。それがうまくいくように見えます、あなたはその理由を知りますか? – Pinocchio