问题标签 [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.
keras - 多对一 LSTM,多类分类
我正在尝试训练具有 64 个隐藏单元的 LSTM-RNN。我的数据如下:
输入:尺寸为 (170000, 50, 500) -> (示例、时间步、特征数) 的numpy 数组
输出:尺寸为 (170000, 10)的 numpy 数组
输出是一个有 10 个类别的分类变量(例如,类别 1 对应于向量 [1,0,0,0,0,0,0,0,0,0])
到目前为止,我已经尝试了这段代码,但出现了一个错误,指出密集层应该有一个 3D 输入。
唯一可行的方法是更改输出,使其具有以下形式:(170000,50,10),除了第 50 个时间步外,基本上全为零。
这是一个正确的方法吗?如果是这样,有没有更有效的方法?我担心扩展输出的形状可能会使代码效率降低。
python-3.x - tensorflow隐藏状态似乎没有改变
我正在尝试在 medium 上遵循这个RNN 教程,并在进行过程中对其进行重构。当我运行我的代码时,它似乎可以工作,但是当我尝试打印出current state
变量以查看神经网络内部发生了什么时,我得到了所有1
s。这是预期的行为吗?状态是否由于某种原因没有更新?据我了解,current state
应该包含所有批次的隐藏层中的最新值,所以它绝对不应该都是1
s。任何帮助将不胜感激。
更新
在完成教程的第二部分并使用内置的 RNN api 后,问题就消失了,这意味着我使用current_state
变量的方式有问题,或者更改了 tensorflow API 导致了一些古怪的事情发生(我不过,我很确定是前者)。如果有人有明确的答案,我会留下这个问题。
tensorflow - tflearn 中的多层动态 LSTM
我想为 IMDB 数据集提供多层动态 LSTM 网络,但似乎下一个 LSTM 层无法解析前一层的输出。
代码:
错误:
python - 使用 RNN-LSTM 语言建模从用户给定输入预测句子顺序
我是深度学习和 python 的新手。我的任务是从用户给出的单词中预测句子的顺序。我看过很多关于单词预测的文章,而关于句子预测的文章很少,这让我了解了如何在句子中随机预测,但我必须从特定输入为我的项目生成语义正确的句子。
请帮助我,因为我的概念很清楚,但我发现很难编码。指向 tensorflow 教程的链接解释了语言模型。它旨在根据先前的上下文信息预测下一个单词。训练有素的模型将流利地打印出有意义的句子。
我想建立一个语言模型来“从单词中预测句子的顺序”。例如,如果用户输入“苹果吃人”,我的语言模型应该能够产生语义正确的句子,即“人吃苹果”。
python - 如何在这个 Python 脚本中实现多处理?
我在笔记本电脑上用 Jupyter 运行这个 Python 3.5 脚本,但循环非常慢,所以我开始阅读有关如何加速代码的内容,我发现我可以导入一个多处理库来执行此操作,但我没有不知道如何在脚本中实现这一点。
该脚本来自本教程。
machine-learning - 从经过训练的 RNN 模型生成单词:“变量已经存在,不允许。你的意思是在 VarScope 中设置 reuse=True 吗?”
所以我在 jupytor notebook 中实现了一个 RNN 词生成器模型。当我尝试使用经过训练的模型生成一些单词时:
它第一次工作,但如果我再次运行代码,则会出现错误:
现在我必须关闭 ipynb 文件,然后运行代码以获取新示例。如何更改代码以避免这种情况?
tensorflow - 张量流中dynamic_rnn函数的参数中的TypeError
我在 tensorflow 中编写了这段代码并运行它我得到了这个错误
问题是什么?
tensorflow - 错误:Tensorflow BRNN logits 和标签必须相同大小
我有这样的错误:
但我找不到发生此错误的张量......我认为它是由大小不匹配出现的......
我的输入大小是batch_size
* n_steps
*n_input
所以,它将是10 * 704 * 100,我想做输出
batch_size
* n_steps
* n_classes
=> 由双向 RNN 乘以 10*700*9
我应该如何更改此代码以修复错误?
batch_size 表示这样的数据数量:
数据 1:ABCABCABCAAADDD... ... 数据 10:ABCCCCABCDBBAA...
而n_step表示每个数据的长度(数据用'O'填充以固定每个数据的长度):704
n_input 表示数据如何表达每个数据中的每个字母,如下所示:A - [1, 2, 1, -1, ..., -1]
而学习的输出应该是这样的:数据1的输出:XYZYXYZYYXY ... ...数据10的输出:ZXYYRZYZZ ...
输出的每个字母都受到输入字母的周围和顺序的影响。