在Tensorflow中使用扫描功能制作简单的rnn代码

用户名

我最近开始学习Tensorflow,并尝试使用扫描功能编写简单的rnn代码。我正在尝试做的是使RNN预测正弦函数。它获得1个暗淡的输入。并分批输出1个调光,如下所示。

import tensorflow as tf
from tensorflow.examples.tutorials import mnist
import numpy as np
import matplotlib.pyplot as plt
import os
import time

# FLAGS (options)
tf.flags.DEFINE_string("data_dir", "", "")
#tf.flags.DEFINE_boolean("read_attn", True, "enable attention for reader")
#tf.flags.DEFINE_boolean("write_attn",True, "enable attention for writer")
opt = tf.flags.FLAGS

#Parameters
time_step = 10
num_rnn_h = 16
batch_size = 2
max_epoch=10000
learning_rate=1e-3 # learning rate for optimizer
eps=1e-8 # epsilon for numerical stability

#temporary sinusoid data
x_tr = np.zeros([batch_size,time_step])
y_tr = np.zeros([batch_size,time_step])
ptrn = 0.7*np.sin(np.arange(time_step+1)/(2*np.pi))
x_tr[0] = ptrn[0:time_step]
y_tr[0] = ptrn[1:time_step+1]
x_tr[1] = ptrn[0:time_step]
y_tr[1] = ptrn[1:time_step+1]

#Build model
x = tf.placeholder(tf.float32,shape=[batch_size,time_step,1], name= 'input')
y = tf.placeholder(tf.float32,shape=[None,time_step,1], name= 'target')
cell = tf.nn.rnn_cell.BasicRNNCell(num_rnn_h)
#cell = tf.nn.rnn_cell.LSTMCell(num_h, state_is_tuple=True)
with tf.variable_scope('output'):
    W_o = tf.get_variable('W_o', shape=[num_rnn_h, 1])
    b_o = tf.get_variable('b_o', shape=[1], initializer=tf.constant_initializer(0.0))

init_state = cell.zero_state(batch_size, tf.float32)

#make graph
#rnn_outputs, final_states = tf.scan(cell, xx1, initializer= tf.zeros([num_rnn_h]))
scan_outputs = tf.scan(lambda a, xi: cell(xi, a), tf.transpose(x, perm=[1,0,2]), initializer= init_state)
rnn_outputs, rnn_states = tf.unpack(tf.transpose(scan_outputs,perm=[1,2,0,3]))
print rnn_outputs, rnn_states

with tf.variable_scope('predictions'):
    weighted_sum = tf.reshape(tf.matmul(tf.reshape(rnn_outputs, [-1, num_rnn_h]), W_o), [batch_size, time_step, 1])
    predictions = tf.add(weighted_sum, b_o, name='predictions')
with tf.variable_scope('loss'):
    loss = tf.reduce_mean((y - predictions) ** 2, name='loss')

train_step = tf.train.AdamOptimizer(learning_rate).minimize(loss)

但是它在最后一行(优化程序)出现错误,例如,

ValueError:形状(2,16)和(2,2,16)不兼容

请有人知道原因,告诉我如何解决...

米歇尔

我假设您的错误不在最后一行(优化程序)上,而是在您之前进行的某些操作上。也许在带有此y的reduce_mean中进行预测?我不会详细介绍您的代码,但是我会告诉您,当您在两个需要相同形状的张量之间执行操作时(通常是数学运算),就会出现此错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

允许用户制作模板-扫描功能代码

来自分类Dev

在Tensorflow RNN中使用CSV训练数据

来自分类Dev

有没有简单的方法可以在Lazarus代码中使用FTP功能

来自分类Dev

有没有简单的方法可以在Lazarus代码中使用FTP功能

来自分类Dev

在递归文件扫描功能中使用malloc和free

来自分类Dev

如何在R的扫描功能中使用STATS

来自分类Dev

在简单的HTML页面中使用Boostrap制作的超棒字体

来自分类Dev

在TensorFlow中使用矩阵乘法功能

来自分类Dev

在Java代码中使用kotlin扩展功能

来自分类Dev

如何制作在球拍中使用关键字的功能

来自分类Dev

简单的功能区:如何在QTabBar中使用QActions?

来自分类Dev

简单的功能区:如何在QTabBar中使用QActions?

来自分类Dev

简单的try&catch代码,无法使用十进制值进行扫描

来自分类Dev

使用 Tensorflow 2 创建 RNN

来自分类Dev

无法使用文件扫描功能

来自分类Dev

在 Tensorflow 中使用 RNN 预测未来时间序列中的值

来自分类Dev

如何在ASP.Net中使用Twain实现扫描功能

来自分类Dev

为什么这个简单的Tensorflow代码不成功?(使用Tensorflow的ConvnetJS)

来自分类Dev

如何在R中使用apply family制作一个简单的脚本

来自分类Dev

如何在C代码中使用vlfeat筛选匹配功能?

来自分类Dev

在Intellij Idea中使用递归功能调试Scala代码

来自分类Dev

使用Theano的RNN处于生成模式(扫描操作)

来自分类Dev

简单的AddListener,可在代码笔中使用,但不能在Chrome浏览器中使用

来自分类Dev

通过Theano扫描功能进行简单累积的故障

来自分类Dev

通过Theano扫描功能进行简单累积的故障

来自分类Dev

Tensorflow 2.0:最小化简单功能

来自分类Dev

管道等效代码以实现简单功能

来自分类Dev

如何在Swift中使用多个参数制作通用备忘录功能?

来自分类Dev

我如何在Discord JS中使用异步功能制作问题游戏?

Related 相关文章

  1. 1

    允许用户制作模板-扫描功能代码

  2. 2

    在Tensorflow RNN中使用CSV训练数据

  3. 3

    有没有简单的方法可以在Lazarus代码中使用FTP功能

  4. 4

    有没有简单的方法可以在Lazarus代码中使用FTP功能

  5. 5

    在递归文件扫描功能中使用malloc和free

  6. 6

    如何在R的扫描功能中使用STATS

  7. 7

    在简单的HTML页面中使用Boostrap制作的超棒字体

  8. 8

    在TensorFlow中使用矩阵乘法功能

  9. 9

    在Java代码中使用kotlin扩展功能

  10. 10

    如何制作在球拍中使用关键字的功能

  11. 11

    简单的功能区:如何在QTabBar中使用QActions?

  12. 12

    简单的功能区:如何在QTabBar中使用QActions?

  13. 13

    简单的try&catch代码,无法使用十进制值进行扫描

  14. 14

    使用 Tensorflow 2 创建 RNN

  15. 15

    无法使用文件扫描功能

  16. 16

    在 Tensorflow 中使用 RNN 预测未来时间序列中的值

  17. 17

    如何在ASP.Net中使用Twain实现扫描功能

  18. 18

    为什么这个简单的Tensorflow代码不成功?(使用Tensorflow的ConvnetJS)

  19. 19

    如何在R中使用apply family制作一个简单的脚本

  20. 20

    如何在C代码中使用vlfeat筛选匹配功能?

  21. 21

    在Intellij Idea中使用递归功能调试Scala代码

  22. 22

    使用Theano的RNN处于生成模式(扫描操作)

  23. 23

    简单的AddListener,可在代码笔中使用,但不能在Chrome浏览器中使用

  24. 24

    通过Theano扫描功能进行简单累积的故障

  25. 25

    通过Theano扫描功能进行简单累积的故障

  26. 26

    Tensorflow 2.0:最小化简单功能

  27. 27

    管道等效代码以实现简单功能

  28. 28

    如何在Swift中使用多个参数制作通用备忘录功能?

  29. 29

    我如何在Discord JS中使用异步功能制作问题游戏?

热门标签

归档