Tensorflow tf.contrib.rnn.BasicLSTMCell是单个LSTM单元还是LSTM层?

Tensorflow tf.contrib.rnn.BasicLSTMCell是单个LSTM单元还是LSTM层?,tensorflow,Tensorflow,在tensorflow中,有一个名为BasicLSTMCell的lstm实现,位于tf.contrib.rnn.BasicLSTMCell。它有一个参数num_units,表示LSTM单元中的单元数。但我不知道这意味着什么 如果我这样定义lstm单元: lstm_cell = tf.contrib.rnn.BasicLSTMCell(512). lstm_单元看起来像什么?这是一个lstm节点或一个有512个节点的lstm层??谁能告诉我这件事?这是一个有512个单元的lstm层 BasicL

在tensorflow中,有一个名为
BasicLSTMCell
的lstm实现,位于
tf.contrib.rnn.BasicLSTMCell
。它有一个参数
num_units
,表示LSTM单元中的单元数。但我不知道这意味着什么

如果我这样定义lstm单元:

lstm_cell = tf.contrib.rnn.BasicLSTMCell(512).

lstm_单元看起来像什么?这是一个lstm节点或一个有512个节点的lstm层??谁能告诉我这件事?

这是一个有512个单元的lstm层

BasicLSTMCell
实现抽象类
RNNCell
。从文件中:

表示RNN单元的抽象对象

每个RNNCell必须具有以下属性,并使用签名
(输出,下一个状态)=调用(输入,状态)
实现
call

[……]

此单元格定义与文献中使用的定义不同。在文献中,“单元”是指具有单个标量输出的对象此定义指此类单位的水平数组

创建LSTM层以及反向传播波谷时间展开的常用方法如下:

lstm_cell = tf.contrib.rnn.BasicLSTMCell(512)
outputs, final_state = tf.nn.static_rnn(cell=lstm_cell,
                           dtype=tf.float32,
                           inputs=some_input_sequence)
其中:

  • some\u input\u sequence
    是大小张量的
    num\u步骤列表
  • 输出
    将在
    某些输入序列
    的每个元素之后包含层的输出。因此,它又是一个大小为
    num\u步骤的
    元素的列表
    [batch\u size,512]
    (其中512是单元格的单位数)
  • final_state
    将包含处理整个序列后的状态。特别是,对于LSTM,它是一个包含两个元素的命名元组,
    c
    h
    (LSTM的两种状态)