加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 输入到LSTM网络张量流

发布时间:2020-12-16 23:02:27 所属栏目:Python 来源:网络整理
导读:我有一个长度为t(x0,…,xt)的时间序列,每个xi是d维向量,即xi =(x0i,x1i,xdi).因此,我的输入X是[batch_size,d] 张量流LSTM的输入应为[batchSize,hidden_??size]大小. 我的问题是我应该如何输入我的时间序列给LSTM.我想到的一个可能的解决方案是具有大小[d,hid
我有一个长度为t(x0,…,xt)的时间序列,每个xi是d维向量,即xi =(x0i,x1i,xdi).因此,我的输入X是[batch_size,d]

张量流LSTM的输入应为[batchSize,hidden_??size]大小.
我的问题是我应该如何输入我的时间序列给LSTM.我想到的一个可能的解决方案是具有大小[d,hidden_??size]的额外的权重矩阵W,并且使用X * W B输入LSTM.

这是正确的还是应该输入网络?

谢谢

解决方法

你的直觉是正确的您需要什么(以及您所描述的)是将输入向量转换为LSTM输入的维度的嵌入.我知道要做到这一点的三个主要方式.

>您可以使用额外的权重矩阵W和偏置向量b手动进行操作.
>您可以使用linear()函数from TensorFlow’s rnn_cell.py library自动创建权重矩阵和偏置向量.然后,通过rnn_decoder()函数in Tensorflow’s seq2seq.py library或其他方式创建LSTM时,将该线性层的输出作为LSTM的输入传递.
>或者您可以通过在同一seq2seq库的第141行的embedding_rnn_decoder()函数创建LSTM来创建此嵌入并将其挂接到LSTM的输入. (如果您浏览此函数的代码而没有任何可选参数,您将看到它只是为输入以及LSTM创建一个线性嵌入层,并将它们连接在一起).

除非您需要访问由于某些原因创建的各个组件,否则我建议使用第三个选项来保持代码的高度.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读