LSTM和tensor张量
Posted hellobigorange
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSTM和tensor张量相关的知识,希望对你有一定的参考价值。
1、tensorflow张量的形状
tensorflow中张量(tensor)的属性——维数(阶)、形状和数据类型
在形状的中括号中有多少个数字,就代表这个张量是多少维的张量。
形状的第一个元素要看张量最外边的中括号中有几个元素(被最外边的中括号里边的内中括号括起来的所有数据算作一个元素)被逗号隔开,有n1个则这个张量就是n1维的,形状的第一个元素就是n1;
形状的第二个元素要看张量中最左边的第二个中括号中有几个被逗号隔开的元素,有n2个则shape的第二个元素就是n2;形状的第二个元素之后的第3,4…n个元素依次类推,分别看第n个中括号中有几个元素即可:
1 # 形状为[]
[1,2,3] # 形状为[3]
[[1,2],[3,4]] # 形状为[2,2]
[[[1,2],[3,4]],[[1,2],[3,4]]] # 形状为[2,2,2]
2、RNN
3、LSTM
长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
LSTM结构(图右)和普通RNN的主要输入输出区别如下所示。
3.1 深入了解LSTM结构
4、keras的LSTM
LSTM一般堆叠2-3层就可以了
4.1 参数return_sequences含义
如果设置return_sequences = True,该LSTM层会返回每一个time step的h,那么该层返回的就是1个由多个h组成的2维数组了,如果下一层不是可以接收2维数组的层,就会报错。所以一般LSTM层后面接LSTM层的话,设置return_sequences = True,如果接全连接层的话,设置return_sequences = False。
以上是关于LSTM和tensor张量的主要内容,如果未能解决你的问题,请参考以下文章