Tensorflow变量初始化错误

Tensorflow变量初始化错误,tensorflow,Tensorflow,我在tensorflow中发现变量初始化错误,有人能帮我吗?我在GPU上使用的是python版本(3.5.4)和TF版本(1.2.1)。tensorflow和python同步库之间的差距似乎存在一些问题,如果我从代码中删除最后一行,那么它就可以正常工作 import numpy as np import tensorflow as tf with tf.Session() as sess: init = tf.global_variables_initializer() ses

我在tensorflow中发现变量初始化错误,有人能帮我吗?我在GPU上使用的是python版本(3.5.4)和TF版本(1.2.1)。tensorflow和python同步库之间的差距似乎存在一些问题,如果我从代码中删除最后一行,那么它就可以正常工作

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)
将numpy导入为np
导入tensorflow作为tf
使用tf.Session()作为sess:
init=tf.global_variables_initializer()
sess.run(初始化)
单位尺寸=100
h1_尺寸=10
x=tf.placeholder(tf.float32,(无,单位大小))
w=tf.变量(tf.随机正常值([in_大小,h1_大小])
b=tf.变量(tf.one([h1_大小])
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]))
错误:-
FailedPremissionError:尝试使用未初始化的值变量_12
[[Node:Variable_12/read=Identity[T=DT_FLOAT,[u class=[“loc:@Variable_12”],[u device=“/job:localhost/replica:0/task:0/cpu:0”](Variable_12)]]
由op“变量_12/读取”引起,定义为:
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\spyder\utils\ipython\start\u kernel.py”,第245行,在
main()
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\spyder\utils\ipython\start\u kernel.py”,主目录第241行
kernel.start()
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\ipykernel\kernelapp.py”,第477行,在开始处
ioloop.ioloop.instance().start()
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\zmq\eventloop\ioloop.py”,第177行,在开始处
super(ZMQIOLoop,self).start()
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\tornado\ioloop.py”,第888行,开始
handler_func(fd_obj,事件)
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\tornado\stack\u context.py”,第277行,空包装
返回fn(*args,**kwargs)
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\zmq\eventloop\zmqstream.py”,第440行,位于事件句柄中
self.\u handle\u recv()
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\zmq\eventloop\zmqstream.py”,第472行,位于\u handle\u recv
self.\u运行\u回调(回调,消息)
文件“C:\Users\Sachin PC\Anaconda3\lib\site packages\zmq\eventloop\zmqstream.py”,第414行,在运行回调中
回调(*args,**kwargs)

在初始化变量之前,您需要声明变量。以下代码应该可以工作:

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])})

您需要在初始化变量之前声明它们。以下代码应该可以工作:

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])})

不客气,萨钦。你能点击左边的复选标记来接受答案吗?当然,马特,我做了。我没想到这么早。不客气,萨钦。你能点击左边的复选标记来接受答案吗?当然,马特,我做了。我没有早意识到这一点。