2017-11-17 2 views
1

tensorflow에서 변수 초기화 오류가 발생했습니다. 제발 도와 주실 수 있습니까? GPU.There에 파이썬 버전 (3.5.4) 및 TF 버전 (1.2.1)을 사용하고 있습니다. 코드에서 마지막 줄을 제거하면 tensorflow와 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

물론 매트, 나는 그것을했다. 나는 그것을 일찍 깨닫지 못했다. –