rnn、lstm,gru中output信息说明
2017-12-08 17:01
483 查看
在一般的rnn模型中,rnn一般输出的形式如下[batch,seq_len,hidden_size],如果用做分类,一般是取最后一个状态[batch,hidden_size],如果用于做词性标注和分词则取全部的状态[batch,seq_len,hidden_size],下面介绍下用于文本分类取最后状态的两种方法,一种是直接transpose,取[-1]最后一个状态,大小变为[batch,hidden_size],另外一个是直接[:,-1,:]把中间的seq_len删除,直接变成[batch,hidden_size],直接看代码:
In [2]: import tensorflow as tf
In [3]: output=tf.get_variable(name='out',shape=[10,30,128])
In [4]: output.get_shape()
Out[4]: TensorShape([Dimension(10), Dimension(30), Dimension(128)])
In [7]: output_trans = tf.transpose(output, [1, 0, 2])
In [8]: output_trans.get_shape()
Out[8]: TensorShape([Dimension(30), Dimension(10), Dimension(128)])
In [9]: output_trans[-1].get_shape()
Out[9]: TensorShape([Dimension(10), Dimension(128)])
In [10]: output[:,-1,:].get_shape()
Out[10]: TensorShape([Dimension(10), Dimension(128)])
相关文章推荐
- 台湾大学深度学习课程 学习笔记 Lecture 5-1: Gated RNN(LSTM与GRU介绍)
- RNN, LSTM, GRU 公式总结
- 深度学习BP算法的推导(附加RNN,LSTM的推导说明)
- 记忆网络RNN、LSTM与GRU
- RNN,LSTM,GRU基本原理的个人理解
- RNN和LSTM、GRU的简单理解
- 深度学习之OCR(二)——RNN/LSTM/GRU + CTC
- RNN 入门教程 Part 4 – 实现 RNN-LSTM 和 GRU 模型
- [深度学习]理解RNN, GRU, LSTM 网络
- (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导
- RNN&LSTM&GRU
- RNN 教程-part4,用python实现LSTM/GRU
- 目前看到的最好的RNN、LSTM、GRU博客:Understanding LSTM Networks
- 目前看到的最好的RNN、LSTM、GRU博客:Understanding LSTM Networks(翻译)
- 深度学习BP算法的推导(附加RNN,LSTM的推导说明)
- 目前看到的最好的RNN、LSTM、GRU博客:Understanding LSTM Networks
- 循环神经网络教程 第四部分 用Python 和 Theano实现GRU/LSTM RNN
- 循环神经网络教程4-用Python和Theano实现GRU/LSTM RNN, Part 4 – Implementing a GRU/LSTM RNN with Python and Theano
- 深度学习笔记——基于双向RNN(LSTM、GRU)和Attention Model的句子对匹配方法
- RNN,LSTM,GRU以及其变型