本文介绍TensorFlow官方提供的关于循环神经网络的一个模板。该模型是Zaremba论文中的方法应用在语言模型的实现。首先介绍一下TensorFlow有关RNN的代码布局,其实能用到的RNN文件就两个rnn_cell.py和rnn.py,这两个文件需要导入from tensorflow.nn.rnn importrnn_cell,rnn
,其实还有另一个地方保存着这两个文件——tensorflow.models.rnn
,但是由于tensorflow的更新,官方提示为了满足后向兼容性,要从前面给的导入路径导入这些模块。有了这两个文件,首先创建rnn cell,包含
cell = rnn_cell.BasicRNNCell(inputs, state)#__init__(self, num_units, input_size=None, activation=tanh)
cell = rnn_cell.BasicLSTMCell(num_units) #最最基础的,不带peephole。__init__(self, num_units, forget_bias=1.0, input_size=None, state_is_tuple=False, activation=tanh)
cell = rnn_cell.LSTMCell(num_units, input_size)