问题标签 [rnn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1350 浏览

python - 我正在尝试在 tensorflow 中制作自己的 RNN 单元,但它不起作用

我的代码如下。

输出形状 = [batch_size , 1] 返回输出,输出

timeSeries_before_forgetting_gate :

我正在尝试制作自己的 rnn 单元并将其应用于 tf.nn.dynamic_rnn。所以我做了自己的单元类(tf.contrib.rnn.RNNCell的子类),并对其进行了简单的正向计算测试。但是它不起作用错误如下

怎么了??:(

0 投票
1 回答
103 浏览

python - Keras + LSTM/RNN:新预测的“X”维数问题

概括

在已正确生成模型后,我无法将输入数据的正确尺寸提供给预测。

我收到以下错误:

背景

  • 使用 Anaconda 作为我的虚拟环境
  • Keras 版本 2.0.6
  • TensorFlow 版本 1.1.0

我正在创建一个非常接近本教程的示例。

代码

以下是相关的代码片段:

...

...

...

...

错误

在最后一行,它出错了,出现以下错误:

努力解决

我玩过它的维度seed_stringx生成的维度,但无论我如何尝试调整它们,我都有某种不匹配,总是由于None(我认为)的这个要求。需要明确的是,我从种子字符串中添加或删除了字符,因此它是40字符。但是,当我将其设置为 时40,错误显示我实际上拥有41,当我将其设置为时39,它显示我拥有39,如上所示。还有其他事情——我不明白——在这里发生。

我查看了Reshape's 的代码和一个如何使用它的示例,但由于 Keras'Reshape是用于模型层的,我什至不明白如何使用它来重塑预测的输入,而 Numpy 没有办法重塑创建一个None维度(至少据我所知不是)。

0 投票
1 回答
1660 浏览

python - 在 Keras 中使用 LSTM 进行时间序列预测

我是深度学习的初学者。我正在使用 keras 库实现 LSTM,以预测天气数据,我有训练和测试数据。删除一些变量后,我的输入数据具有以下形状。

现在,我将这些数据输入到下面的 LSTM 代码中,但无法弄清楚我遇到问题的输入形状。下面给出了我正在应用的 LSTM 的完整代码。

这是错误,我在运行代码后得到,模型正在拟合 X_train 和 y_train,具有上述输入形状。

0 投票
2 回答
3434 浏览

tensorflow - Tensorflow RNN-LSTM - 重置隐藏状态

我正在构建一个用于语言识别的全状态 LSTM。在有状态的情况下,我可以用较小的文件训练网络,一个新的批次就像讨论中的下一个句子。然而,为了使网络得到适当的训练,我需要在一些批次之间重置 LSTM 的隐藏状态。

我正在使用一个变量来存储 LSTM 的 hidden_​​state 以提高性能:

现在我对如何重置隐藏状态感到困惑。我尝试了两种解决方案,但它不起作用:

第一个解决方案

使用以下命令重置“hidden_​​state”变量:

它确实有效,我认为这是因为在运行 rnn_state_zero_op 操作后,unstack 和 tuple 构造没有“重新播放”到图中。

第二种解决方案

Tensorflow 中针对 RNN 的 LSTMStateTuple vs cell.zero_state()之后,我尝试使用以下命令重置单元状态:

它似乎也不起作用。

问题

我想到了另一个解决方案,但它充其量只是猜测:我没有保留 tf.nn.dynamic_rnn 返回的状态,我已经想到了,但是我得到了一个元组,但我找不到构建一个op 重置元组。

在这一点上,我不得不承认我不太了解 tensorflow 的内部工作,以及是否有可能做我想做的事情。有正确的方法吗?

谢谢 !

0 投票
0 回答
50 浏览

keras - 带有keras的lstm输入错误

我遇到的问题和你完全一样。我也按照@td2014 的指导,但最后出现了错误。我的输入形状是(24443, 124, 30),我的lstm层设置如下:

我得到的错误是“检查输入时出错:预期 lstm_4_input 具有形状(None, 1, 30)但得到了形状为(24443, 124, 30)的数组”

你对此有什么建议吗?

0 投票
1 回答
1027 浏览

tensorflow - Tensorflow RNN:两种不同类型的输入

我想为我的 LSTM RNN 单元提供 2 种类型的输入。我的输入由整数列表(即[5,2,3,4,6,1,0, ...])组成。

但是,每个整数都分为 2 个不同的组,所以我想标记每个整数,就像[[5,True],[2,False], [3,False], [4,True], ... ].

我见过输入由相同类型的常量组成的情况,输入维度为 2 或更大。但我不确定 2 种不同类型是否可以产生 1 个输入单位,例如[5,True]. 如果这不可能,我正在考虑将 True 代入整数 2,将 False 代入整数 1,例如[[5,2], [2,1], ...],其中输入维度为 2(不确定这是标记的好方法)。

标记每个整数以使每个整数属于不同组的好方法是什么?

0 投票
1 回答
548 浏览

python - Keras LSTM 输入维度

我对神经网络很陌生,对它没有太多经验。我的问题如下:我有一个数组,877 个不同的数据点,每个数据点有 200 个特征。它是一个 PCA 简化的 TfIdf 矩阵,其中每一行对应于我的数据集中的一个文本块(例如一个段落本身)。我正在尝试为此数据(1 类或 0 类)创建一个二元分类器。我已经成功地使用线性 SVM 获得了 80% 的中低准确度,使用简单的 Dense NN 获得了大约 80% 的准确度,如下所示:

所以我发现 RNN 在自然语言处理中非常受欢迎。我尝试以大致相同的方式设置一个。但是,我知道我的数据应该有第三维。我很困惑这是如何工作的。我根据这个问题编写了代码:LSTM with keras this asker does not have 3 dimension in his data。他的作品究竟如何​​仅使用 2 个维度?我的代码如下:

有人可以解释一下这有何不同以及为什么我不断收到此错误:ValueError: Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (877, 200)

我真的需要第三维吗?如果是这样,我应该如何将我的 2D(数据点,特征)数组转换为 3D?谢谢你的时间。

- - - - - - - - - - - - - - 编辑 - - - - - - - - - - - -------------

所以现在我已经将我的代码更改为:

并收到以下错误(t_steps == 1 和 dim == 200)

不知道从这里去哪里。

----------------------------------------编辑#2-------------------- ---------------

事实证明,如果我设置return_sequences = False它有效。现在我的准确率是可怕的,47%。

0 投票
2 回答
1919 浏览

keras - 在 Keras 序列模型中添加 TimeDistributed(Dense) 层时出现 AssertionError

我正在构建一个 RNN 来预测多对一问题。

我的模型设置:

我想尝试使用 TimeDistributed(Dense) 层,例如:https ://keras.io/layers/wrappers/ 。所以我把上面改为下面:

我收到一个 AssertionError。哪个报告矩阵大小不是预期的。我错过了哪些步骤?

0 投票
1 回答
405 浏览

deep-learning - DeepLearning4J 中的 GRU

我试图在 DeepLearning4J 中找到 GRU 实现,但似乎找不到。有谁知道 GRU 是否在 DL4J 中实现?如果是这样,请您指导我举一个例子。如果没有,这是否在他们的路线图上?

谢谢

0 投票
1 回答
221 浏览

tensorflow - Tensorflow RNN variable_scope 错误

我正在尝试在不使用 MultiRNNCell 的情况下制作多层 RNN,因为我想独立更新每一层。所以我没有使用 tf.dynamic_rnn。

然后我得到这样的错误。

ValueError: 变量架构/basic_lstm_cell/kernel 已经存在,不允许。您的意思是在 VarScope 中设置 reuse=True 吗?

因此,在没有 MultiRNNCell 的情况下,似乎不可能在 tensorflow 中声明多个单元格。我该如何解决这个问题?