为什么这个tensorflow教程代码不起作用 [英] why this tensorflow tutorial code not working

查看:100
本文介绍了为什么这个tensorflow教程代码不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在我正在尝试lstm教程,请看某人的书.但这没有用.有什么问题? :

Now i'm trying lstm tutorial, look some one's book. But it didn't work. What's the problem? :

import tensorflow as tf

import numpy as np

from tensorflow.contrib import rnn

import pprint

pp = pprint.PrettyPrinter(indent=4)

sess = tf.InteractiveSession()

a = [1, 0, 0, 0]

b = [0, 1, 0, 0]

c = [0, 0, 1, 0]

d = [0, 0, 0, 1]

init=tf.global_variables_initializer()

with tf.variable_scope('one_cell') as scope:
    hidden_size = 2  
    cell = tf.contrib.rnn.BasicRNNCell(num_units=hidden_size)  
    print(cell.output_size, cell.state_size)  

    x_data = np.array([[a]], dtype=np.float32) 
    pp.pprint(x_data)
    outputs, _states = tf.nn.dynamic_rnn(cell, x_data, dtype=tf.float32)
    sess.run(init)
    pp.pprint(outputs.eval())

错误消息就是这样.请解决此问题.

Error message is like that. Please solve this problem.

Attempting to use uninitialized value one_cell/rnn/basic_rnn_cell/weights
     [[Node: one_cell/rnn/basic_rnn_cell/weights/read = Identity[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](one_cell/rnn/basic_rnn_cell/weights)]]

推荐答案

您尚未初始化某些图形变量,如所提到的错误.将您的代码移至该位置,它将起作用.

You haven't initialized some graph variables, as the error mentioned. Shift your code to this and it will work.

outputs, _states = tf.nn.dynamic_rnn(cell, x_data, dtype=tf.float32)
init=tf.global_variables_initializer()
sess.run(init)

最佳做法是在图形的末尾和sess.run之前添加init.

Best practice is to have init right at the end of your graph and before sess.run.

编辑:请参阅

EDIT: Refer to What does tf.global_variables_initializer() do under the hood? for more insights.

这篇关于为什么这个tensorflow教程代码不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆