Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 输入到LSTM网络tensorflow 我有一个时间序列的长度t(x0,…,xt),每个席席是d维向量,即X=(x0i,x1i,…,xDi)。因此,我的输入X的形状为[批次大小,d]_Python_Tensorflow_Lstm_Recurrent Neural Network - Fatal编程技术网

Python 输入到LSTM网络tensorflow 我有一个时间序列的长度t(x0,…,xt),每个席席是d维向量,即X=(x0i,x1i,…,xDi)。因此,我的输入X的形状为[批次大小,d]

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

tensorflow LSTM的输入大小应为[batchSize,hidden_size]。 我的问题是如何将时间序列输入LSTM。我想到的一个可能的解决方案是增加权重矩阵W,其大小为[d,hidden_size],并用X*W+B输入LSTM

这是正确的还是应该向网络输入其他内容


谢谢你的直觉是正确的;您所需要的(以及您所描述的)是一个嵌入,用于将输入向量转换为LSTM输入的维度。我知道有三种主要方法可以实现这一点

  • 如您所述,您可以使用额外的权重矩阵
    W
    和偏差向量
    b
    手动执行此操作
  • 您可以使用
    linear()
    函数自动创建权重矩阵和偏差向量。然后,当您通过
    rnn\u decoder()
    函数或其他方式创建LSTM时,将该线性层的输出作为LSTM的输入传递
  • 或者,您可以让Tensorflow创建此嵌入,并通过同一seq2seq库第141行的
    embedding\u rnn\u decoder()
    函数创建LSTM,将其自动连接到LSTM的输入。(如果您在没有任何可选参数的情况下跟踪此函数的代码,您将看到它只是为输入和LSTM创建了一个线性嵌入层,并将它们连接在一起。)

除非您出于某种原因需要访问正在创建的各个组件,否则我建议使用第三种方法来保持代码处于较高的级别。

在讨论X时,您提到了批大小,但对于LSTM,您提到了批大小。这是同一件事吗?第三种解决方案在这种情况下有效吗?对于稀疏但多维的输入张量,可以使用Embedded_rnn_decoder()吗?看起来该函数将查找给定一个一维整数或一个热编码的嵌入,但不是一种使用权重矩阵改变输入向量维数的方法。最先进的方法是什么,推荐的方法是什么?谢谢!