最近、テンソルフローを使用し始め、一部のシミュレートされたデータで線形回帰モデルを試しました。私は次のコードを持っていますとb
(これはnumpyを使ってランダムに初期化します)をGradientDescentOptimizer
でトレーニングしています。モデルが訓練を終えた後、これらの変数を見て、それらが実際の値にどれほど近いかを見たいと思います。 (私は質問に無関係なので、コードの他の部分は省略しています)。セッションがwith tf.Session()...
を終了すると、私はsess = tf.Session()
を使用してデフォルトのセッションを開き、sess.run(w)
を使用しようとしましたが、私はAttempting to use uninitialized value train_weights
と挨拶しています。それは期待される。だから私はsess.run(tf.global_variables_initializer())
を使用することを考えましたが、単にw
の値を最初に初期化します。そこで質問がある - それはtensorflowセッションで変更された後にどのように私は、セッションがすでにセッションを閉じた場合は、方法はありませんTensorflow:セッションを閉じた後で訓練された変数にアクセスする
_ = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(_)
for epoch in range(n_epochs):
for batch_pos in range(num_batches):
x_batch = X[batch_ind[batch_pos]:batch_ind[batch_pos+1]]
y_batch = Y[batch_ind[batch_pos]:batch_ind[batch_pos+1]]
sess.run(optimizer, feed_dict = {x_train_batch: x_batch,\
y_train_batch: y_batch})
cost_ = sess.run(cost, feed_dict = {x_train_batch: x_batch,\
y_train_batch: y_batch})
if (epoch)%display_rate == 0:
print('Epoch:', epoch+1, 'Cost: ', cost_)
sess = tf.Session()
# sess.run(tf.global_variables_initializer())
sess.run(w)