问题标签 [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.
python - 我正在尝试在 tensorflow 中制作自己的 RNN 单元,但它不起作用
我的代码如下。
输出形状 = [batch_size , 1] 返回输出,输出
timeSeries_before_forgetting_gate :
我正在尝试制作自己的 rnn 单元并将其应用于 tf.nn.dynamic_rnn。所以我做了自己的单元类(tf.contrib.rnn.RNNCell的子类),并对其进行了简单的正向计算测试。但是它不起作用错误如下
怎么了??:(
python - Keras + LSTM/RNN:新预测的“X”维数问题
概括
在已正确生成模型后,我无法将输入数据的正确尺寸提供给预测。
我收到以下错误:
背景
- 使用 Anaconda 作为我的虚拟环境
- Keras 版本 2.0.6
- TensorFlow 版本 1.1.0
我正在创建一个非常接近本教程的示例。
代码
以下是相关的代码片段:
...
...
...
...
错误
在最后一行,它出错了,出现以下错误:
努力解决
我玩过它的维度seed_string
和x
生成的维度,但无论我如何尝试调整它们,我都有某种不匹配,总是由于None
(我认为)的这个要求。需要明确的是,我从种子字符串中添加或删除了字符,因此它是40
字符。但是,当我将其设置为 时40
,错误显示我实际上拥有41
,当我将其设置为时39
,它显示我拥有39
,如上所示。还有其他事情——我不明白——在这里发生。
我查看了Reshape
's 的代码和一个如何使用它的示例,但由于 Keras'Reshape
是用于模型层的,我什至不明白如何使用它来重塑预测的输入,而 Numpy 没有办法重塑创建一个None
维度(至少据我所知不是)。
python - 在 Keras 中使用 LSTM 进行时间序列预测
我是深度学习的初学者。我正在使用 keras 库实现 LSTM,以预测天气数据,我有训练和测试数据。删除一些变量后,我的输入数据具有以下形状。
现在,我将这些数据输入到下面的 LSTM 代码中,但无法弄清楚我遇到问题的输入形状。下面给出了我正在应用的 LSTM 的完整代码。
这是错误,我在运行代码后得到,模型正在拟合 X_train 和 y_train,具有上述输入形状。
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 的内部工作,以及是否有可能做我想做的事情。有正确的方法吗?
谢谢 !
keras - 带有keras的lstm输入错误
我遇到的问题和你完全一样。我也按照@td2014 的指导,但最后出现了错误。我的输入形状是(24443, 124, 30),我的lstm层设置如下:
我得到的错误是“检查输入时出错:预期 lstm_4_input 具有形状(None, 1, 30)但得到了形状为(24443, 124, 30)的数组”
你对此有什么建议吗?
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(不确定这是标记的好方法)。
标记每个整数以使每个整数属于不同组的好方法是什么?
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%。
keras - 在 Keras 序列模型中添加 TimeDistributed(Dense) 层时出现 AssertionError
我正在构建一个 RNN 来预测多对一问题。
我的模型设置:
我想尝试使用 TimeDistributed(Dense) 层,例如:https ://keras.io/layers/wrappers/ 。所以我把上面改为下面:
我收到一个 AssertionError。哪个报告矩阵大小不是预期的。我错过了哪些步骤?
deep-learning - DeepLearning4J 中的 GRU
我试图在 DeepLearning4J 中找到 GRU 实现,但似乎找不到。有谁知道 GRU 是否在 DL4J 中实现?如果是这样,请您指导我举一个例子。如果没有,这是否在他们的路线图上?
谢谢
tensorflow - Tensorflow RNN variable_scope 错误
我正在尝试在不使用 MultiRNNCell 的情况下制作多层 RNN,因为我想独立更新每一层。所以我没有使用 tf.dynamic_rnn。
然后我得到这样的错误。
ValueError: 变量架构/basic_lstm_cell/kernel 已经存在,不允许。您的意思是在 VarScope 中设置 reuse=True 吗?
因此,在没有 MultiRNNCell 的情况下,似乎不可能在 tensorflow 中声明多个单元格。我该如何解决这个问题?