Python 输入到LSTM网络tensorflow 我有一个时间序列的长度t(x0,…,xt),每个席席是d维向量,即X=(x0i,x1i,…,xDi)。因此,我的输入X的形状为[批次大小,d]
tensorflow LSTM的输入大小应为[batchSize,hidden_size]。 我的问题是如何将时间序列输入LSTM。我想到的一个可能的解决方案是增加权重矩阵W,其大小为[d,hidden_size],并用X*W+B输入LSTM 这是正确的还是应该向网络输入其他内容Python 输入到LSTM网络tensorflow 我有一个时间序列的长度t(x0,…,xt),每个席席是d维向量,即X=(x0i,x1i,…,xDi)。因此,我的输入X的形状为[批次大小,d],python,tensorflow,lstm,recurrent-neural-network,Python,Tensorflow,Lstm,Recurrent Neural Network,tensorflow LSTM的输入大小应为[batchSize,hidden_size]。 我的问题是如何将时间序列输入LSTM。我想到的一个可能的解决方案是增加权重矩阵W,其大小为[d,hidden_size],并用X*W+B输入LSTM 这是正确的还是应该向网络输入其他内容 谢谢你的直觉是正确的;您所需要的(以及您所描述的)是一个嵌入,用于将输入向量转换为LSTM输入的维度。我知道有三种主要方法可以实现这一点 如您所述,您可以使用额外的权重矩阵W和偏差向量b手动执行此操作 您可以使用li
谢谢你的直觉是正确的;您所需要的(以及您所描述的)是一个嵌入,用于将输入向量转换为LSTM输入的维度。我知道有三种主要方法可以实现这一点
- 如您所述,您可以使用额外的权重矩阵
和偏差向量W
手动执行此操作b
- 您可以使用
函数自动创建权重矩阵和偏差向量。然后,当您通过linear()
函数或其他方式创建LSTM时,将该线性层的输出作为LSTM的输入传递rnn\u decoder()
- 或者,您可以让Tensorflow创建此嵌入,并通过同一seq2seq库第141行的
函数创建LSTM,将其自动连接到LSTM的输入。(如果您在没有任何可选参数的情况下跟踪此函数的代码,您将看到它只是为输入和LSTM创建了一个线性嵌入层,并将它们连接在一起。)embedding\u rnn\u decoder()
除非您出于某种原因需要访问正在创建的各个组件,否则我建议使用第三种方法来保持代码处于较高的级别。在讨论X时,您提到了批大小,但对于LSTM,您提到了批大小。这是同一件事吗?第三种解决方案在这种情况下有效吗?对于稀疏但多维的输入张量,可以使用Embedded_rnn_decoder()吗?看起来该函数将查找给定一个一维整数或一个热编码的嵌入,但不是一种使用权重矩阵改变输入向量维数的方法。最先进的方法是什么,推荐的方法是什么?谢谢!