2017-11-17 19 views
1

tensorflowで変数の初期化エラーが発生しました。私はGPU.ThereでPythonバージョン(3.5.4)とTFバージョン(1.2.1)を使用していますが、テンソルフローとPythonライブラリの間のギャップに問題があるようですが、コードから最後の行を削除すると良い。Tensorflow変数の初期化エラー

import numpy as np 
import tensorflow as tf 

with tf.Session() as sess: 
    init = tf.global_variables_initializer() 
    sess.run(init) 

    in_size = 100             
    h1_size = 10              

    x = tf.placeholder(tf.float32,(None,in_size))     
    w = tf.Variable(tf.random_normal([in_size,h1_size])) 
    b = tf.Variable(tf.ones([h1_size])) 

    xw = tf.matmul(x,w) 
    z = tf.add(xw,b) 

    a = tf.nn.relu(z) 

    yhat = sess.run(a,feed_dict={x:np.random.random([100000,in_size])}) 



Error:- 

FailedPreconditionError: Attempting to use uninitialized value Variable_12 
    [[Node: Variable_12/read = Identity[T=DT_FLOAT, _class=["loc:@Variable_12"], _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_12)]] 

Caused by op 'Variable_12/read', defined at: 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\spyder\utils\ipython\start_kernel.py", line 245, in <module> 
    main() 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\spyder\utils\ipython\start_kernel.py", line 241, in main 
    kernel.start() 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 477, in start 
    ioloop.IOLoop.instance().start() 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\zmq\eventloop\ioloop.py", line 177, in start 
    super(ZMQIOLoop, self).start() 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\tornado\ioloop.py", line 888, in start 
    handler_func(fd_obj, events) 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\tornado\stack_context.py", line 277, in null_wrapper 
    return fn(*args, **kwargs) 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\zmq\eventloop\zmqstream.py", line 440, in _handle_events 
    self._handle_recv() 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\zmq\eventloop\zmqstream.py", line 472, in _handle_recv 
    self._run_callback(callback, msg) 
    File "C:\Users\Sachin-PC\Anaconda3\lib\site-packages\zmq\eventloop\zmqstream.py", line 414, in _run_callback 
    callback(*args, **kwargs) 

答えて

0

変数を初期化する前に宣言する必要があります。次のコードは動作するはずです:

in_size = 100             
h1_size = 10  

x = tf.placeholder(tf.float32,(None,in_size))     
w = tf.Variable(tf.random_normal([in_size,h1_size])) 
b = tf.Variable(tf.ones([h1_size])) 

xw = tf.matmul(x,w) 
z = tf.add(xw,b) 
a = tf.nn.relu(z) 

init = tf.global_variables_initializer() 

with tf.Session() as sess:  
    sess.run(init)             
    yhat = sess.run(a,feed_dict={x:np.random.random([100000,in_size])}) 
+0

そんなにマットありがとうございました.... :) –

+0

あなたは大歓迎です、Sachin。左のチェックマークをクリックして答えを受け入れるでしょうか? – MatthewScarpino

+0

確かにマット、私はそれをやった。私は早くそれを気付かなかった。 –