2017-01-19 4 views
1

この単純なコードでエラーが発生するのはなぜですか?FailedPreconditionErrorテンソルフロー

inputs = tf.Variable(np.random.rand(2,2)) 

tf.global_variables_initializer()  

with tf.Session() as sess: 
     sess.run(tf.reduce_mean(inputs)) 

それは私を与える:

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value Variable_4 
[[Node: Variable_4/read = Identity[T=DT_DOUBLE, _class=["loc:@Variable_4"], _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_4)]] 
+0

私も試してみました: 'tf.variables_initializer([入力]')nessuno..Thanks @ –

答えて

4

あなたが実行しなければならない操作を返しtf.global_variables_initializer()。実際、この操作はグローバル変数を初期化します。

したがって、とその行を変更:

init_op = tf.global_variables_initializer() 

とセッション内で、それを実行します。

with tf.Session() as sess: 
    sess.run(init_op) 

さらに、グラフ定義とグラフの実行を混在させない方が論理的に優れています。

セッション外でグラフを定義し、操作を実行します。ここにコードの改良版があります。ところで

import tensorflow as tf 
import numpy as np 

inputs = tf.Variable(np.random.rand(2,2)) 
init_op = tf.global_variables_initializer()  

mean_op = tf.reduce_mean(inputs) 

with tf.Session() as sess: 
    sess.run(init_op) 
    mean_value = sess.run(mean_op) 
    print(mean_value) 

、私はあなたが開始したページを取得tensorflowを読んでお勧め:https://www.tensorflow.org/get_started/

+0

! –

関連する問題