テンソルボードがグラフをどのように視覚化するのかを理解しようとしています。私はこの目的のために単純な線形回帰を使用しています。ここに私のコードは次のとおりです。ここでテンソルフローのテンソルボードグラフをどのように解釈するのですか?
# LINEAR REGRESSION IN TENSORFLOW
# generate points
import numpy as np
import os
import time
import tensorflow as tf
num_points = 1000
vectors_set = []
for i in xrange(num_points):
x1 = np.random.normal(0.0, 0.55)
y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0, 0.03)
vectors_set.append([x1, y1])
with tf.name_scope('data') as scope:
x_data = [v[0] for v in vectors_set]
y_data = [v[1] for v in vectors_set]
# Cost function and gradient descent algorithm
with tf.name_scope('model') as scope:
W = tf.Variable(tf.random_uniform([1], -1, 1), name = "W")
b = tf.Variable(tf.zeros([1]), name = "b")
z = tf.add(W * x_data, b, name = "z")
with tf.name_scope('loss') as scope:
loss = tf.reduce_mean(tf.square(z - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# Running the algorithm
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
timestamp = str(int(time.time()))
print timestamp
train_summary_writer = tf.train.SummaryWriter(
os.path.join(
"./", "summaries", timestamp), sess.graph)
train_summary_writer.add_graph(sess.graph)
私の質問は以下のとおりです。
- 私は私のグラフにグラデーションを定義していませんでした。それはデフォルトでテンソルボードが付いていますか?
- なぜ8つのテンソルが損失から勾配に向かうのですか?なぜモデルからグラデーションまで5テンソルですか?
- 私は変数yを定義しませんでした。テンソルボードは自動的にyを定数に代入しますか?どうすれば変更できますか?
- 私のグラフでは、操作の間に矢印が表示されません。
ありがとうございました!あなたはtf.train.GradientDescentOptimizer
あなたのコードはGradientDescentOptimizerは、それが損失に依存していることを意味し、損失を最小限に抑える必要があることを指定したときに作成した
ありがとうございます。 Q2のテンソルの数はどうですか?なぜ5と8があるのですか? – sergulaydore
@dandelion:テンソルの形を追加したときに矢印を無効にしましたが、多くの人がそれらを求めていますので、これを戻します。テンソルフローテンソルボードピペットパッケージをチェックしましたが、その機能はありませんでした。 –
@ダンデリオン:私はそれを得た。申し訳ありませんが、私は誤って古いバージョンのテンソルフローを使用していました –