问题标签 [lstm-stateful]
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 中重写 Keras Stateful LSTM?
任何人都可以分享关于如何将 Keras 有状态 LSTM 转换为纯 Tensorflow 模型的想法/博客/代码片段?然后批量训练它..
Tensorflow 不支持TPU 上的 Keras Stateful LSTM。他们的开发人员拒绝修复它。
我保留了大量的 TPU 时间,暂时无法使用它。任何帮助表示赞赏。
模型示例和训练代码:
GitHub问题:https ://github.com/tensorflow/tensorflow/issues/28837
python - 为什么在这个简单的代码中我的准确率总是 0.2
我是这个领域的新手,并试图重新运行从互联网复制的示例 LSTM 代码。LSTM 模型的准确度始终为 0.2,但预测输出完全正确,这意味着准确度应为 1。谁能告诉我为什么?
tensorflow - 在 LSTM 上添加 return_state=True 时,这两个结构没有相同的嵌套结构
我不知道这是一种错误还是错误。我也在这里报告了这个问题。
我想做的事情是我想让我的自定义 LSTM 有状态。所以这段代码运行without
良好return_state=True
。一旦我将它添加到代码中,它就会引发这个错误:The two structures don't have the same nested structure
。
这是一个可重现的代码:
更新1
在应用了评论的想法后tf.map_fn(row_entropy, encoded,dtype=tf.float32)
,我收到了一个新的错误:
另外,考虑到即使没有那个 lambda 层也会引发这个错误,所以似乎还有其他问题。如果我尝试encoded.shape
,它会说encoded
是一个列表,length 5
但是它必须是一个张量(batch_size, latent size)
!!!
一切都很好,没有添加return_state=True
任何帮助表示赞赏!
python - Keras:跨训练示例共享一层权重(不在层之间)
问题如下。我有一个词汇量为 25K 的分类预测任务。在其中一个(输入词汇 10K,输出昏暗,即嵌入 50)上,我想引入一个可训练的权重矩阵,用于输入嵌入(形状 1,50)和权重(形状(50,128))之间的矩阵乘法(无偏差) 并且得到的向量分数是预测任务和其他特征的输入。
关键是,我认为每个输入的可训练权重矩阵都会有所不同,如果我只是将它添加进去的话。我希望这个权重矩阵在所有输入中都是通用的。
我应该澄清一下——这里的输入是指训练示例。因此,所有示例都将学习一些特定示例的嵌入,并乘以共享权重矩阵。
每隔这么多 epoch 之后,我打算做一个批量更新来学习这些常见的权重(或者使用其他目标变量来做多个输出预测)
长短期记忆法?这是我应该在这里调查的吗?
python - LSTM 时间序列异常检测
我正在尝试使用 LSTM 在时间序列中找到异常。而且我仍然想知道,根据时间序列过去的行为发现异常的正确架构、时间步长、批量大小、滑动或非滑动窗口应该是什么
它给了我一个输出
对我来说,这看起来不像是异常迹象。有状态是根据过去的行为发现异常的更好方法吗?即使是正态高斯分布也可以很容易地告诉我这里的异常,但它不会占用时间效果
keras - 在 keras API 中为 LSTM 单元提供输入
我正在阅读深度学习中的 LSTM。来自 Andrew Ng 教授课程 LSTM 每个 LSTM 单元的三个输入。
输入是来自前一个单元的单元状态,即“c”上标(t-1)和 LSTM 单元“a”上标(t-1)和输入 x 上标(t)的输出。
LSTM 单元的输出是当前单元状态,即“c”上标 (t) 和 LSTM 单元“a”上标 (t) 的输出。
我们如何在 keras 中为上述输入传递 LSTM 单元的初始化参数?
谢谢您的帮助。简单的例子会很有帮助。
python - 如何修复“无法使用形状为 [1000] 的张量更新形状为 [] 的变量,形状必须相等。” keras LSTM网络中的错误?
我正在尝试开发一个有状态的 LSTM 网络。我将使用算法超参数搜索,但在此之前,它应该使用默认参数,但是,它没有。我不断收到“tensorflow.python.framework.errors_impl.InvalidArgumentError:无法使用形状为 [1000] 的张量更新形状为 [] 的变量,形状必须相等。” 我已经没有关于如何解决这个问题的想法了。
模型创建
一切似乎都很好。
训练和测试,输入和输出形状
训练输入形状:(86000, 1, 14) 训练输出形状:(86000, 1, 4) 测试输入形状:(70000, 1, 14) 测试输出形状:(70000, 1, 4)
网络总结:
问题出现在执行此操作:
有人有什么建议吗?
python - Keras:如何从 LSTM 的几层中检索隐藏状态和/或单元状态?
需要一些帮助来为每一层的以下 LSTM 模型捕获隐藏状态和/或单元状态
我可以拼凑在一起的python代码摘录:
如何保存每一层的隐藏状态和/或单元状态?到目前为止,我在网上可以找到的所有示例都只使用了一层。
请帮忙。
keras - 使用 lstm 进行基本时间序列预测
我有一个序列,我想做最简单的 LSTM 来预测序列的其余部分。这意味着我想从仅使用上一步来预测下一个步骤开始,然后添加更多步骤。我也想使用预测值作为输入。所以我相信我想要的是实现许多对多如Understanding Keras LSTMs的答案中提到的。
我已经阅读了有关 stackoverflow 主题的其他问题,但仍然无法使其正常工作。在我的代码中,我使用这里的教程https://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/和函数 create_dataset 来创建两个数组,只有一个移位一步。
这是我的代码和我得到的错误。
你知道为什么我有这样的错误,因为我似乎做了上述主题中的所有事情吗?