- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道 LSTM 在 Keras 中是如何工作的。在 this tutorial例如,与许多其他人一样,您可以找到类似这样的内容:
model.add(LSTM(4, input_shape=(1, look_back)))
“4”是什么意思。它是层中神经元的数量。对于神经元,我的意思是每个实例都给出一个输出?
其实我找到了this brillant discussion但并没有真正被 the reference given 中提到的解释说服.
在方案上,可以看到图示的 num_units
,我想我说这个单元中的每一个都是一个非常原子的 LSTM 单元(即 4 个门)并没有错。但是,这些单元是如何连接的?如果我是对的(但不确定),x_(t-1)
的大小为 nb_features
,因此每个特征都是一个单元和 num_unit 的输入
必须等于 nb_features
对吗?
现在,让我们谈谈keras。我读过this post and the accepted answer惹上麻烦。事实上,答案是:
基本上,形状类似于 (batch_size, timespan, input_dim),其中 input_dim
可以不同于 unit
在什么情况下?我对之前的引用有问题...
此外,它说,
Keras 中的 LSTM 仅定义了一个 LSTM block ,其单元格具有单位长度。
好的,但是我该如何定义一个完整的 LSTM 层呢? input_shape
是否隐含地创建了与 time_steps
数量一样多的 block (根据我的说法,这是 input_shape
参数的第一个参数我的一段代码?
谢谢你点亮我
编辑:是否也可以清楚地详细说明如何为有状态 LSTM 模型 reshape 大小为 (n_samples, n_features)
的数据?如何处理 time_steps 和 batch_size ?
最佳答案
首先,LSTM 中的units
不是time_steps 的数量。
每个 LSTM 单元(出现在给定的 time_step)接受输入 x
并形成一个隐藏状态向量 a
,这个隐藏单元向量的长度就是所谓的LSTM(Keras) 中的 units
。
您应该记住,代码只创建了一个 RNN 单元
keras.layers.LSTM(units, activation='tanh', …… )
RNN 操作由类本身重复 Tx 次。
我已链接 this以非常简单的代码帮助您更好地理解它。
关于python - Keras中如何解释清楚units参数的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51932767/
MVC3 中的助手是否在 Controller 和 View 中使用? 助手是放置常用 Controller 方法的正确位置吗? 我想创建一个通用方法来获取数据库中的所有子子 ID,并确保它位于正确的
有人可以阐明这两者之间的区别吗,因为它们存在于执行上下文中?我很难阅读 ECMA 262 v 5规范并清楚地看到差异。 谢谢你, 最佳答案 两者都是执行上下文的组件(相同类型),但它们有不同的用途(f
我是一名优秀的程序员,十分优秀!