class BasicLSTMCell(RNNCell): 基本的LSTM循环网络单元 实现基于http:///abs/1409.2329 我们添加 forget_bias (默认值为1)到遗忘门的偏置,为了减少在开始训练时遗忘的规模。 它不允许单元有一个剪裁,映射层,不允许有peep-hole 连接:这是基准。 对于更高级的模型,请使用 full LSTMCell def __init__(self, num_units, forget_bias=1.0, input_size=None): 初始化基本LSTM 单元 参数:
class DropoutWrapper(RNNCell): 在给定的cell 上的输入和输出添加 dropout 操作。 def __init__(self, cell, input_keep_prob=1.0, output_keep_prob=1.0, seed=None) 创建一个输入或(且)输出上有dropout 操作的cell state 上不应用dropout 参数:
def __call__(self, inputs, state, scope=None):
class MultiRNNCell(RNNCell): RNN cell 有多个简单的cell 循序组成。(按照序列组成) def __init__(self, cells): 创建一个由大量的RNNCell 循序组成的一个RNN cell 参数:
cells[i+1].input_size==cells[i].output_size
def __call__(self, inputs, state, scope=None):
def get_variable(self, name, shape=None, dtype=dtypes.float32, initializer=None, regularizer=None, reuse=None, trainable=True, collection=None, caching_device=None):
用这些参数得到一个已存在的变量或创建一个新的变量。
如果给定名字的变量已存在,则返回一个已存在的变量。否则,创建一个新的变量。
设置'reuse' 为 ‘True’,当你仅仅想要重用已经存在的变量。
设置'reuse'为‘False’,当你仅仅想要创建一个新的变量。
如果'reuse' 为 'None'(默认),会返回一个新的变量和一个已经存在的变量。
如果初始化器是'None'(默认),使用构造器中传入的初始化器。如果构造函数中的初始化器也是'None‘,我使用一个新的'UniformUnitScalingInitializer’。如果初始化器是一个Tensor,我们使用它作为一个值,并从初始化器中获得shape.
参数:
|
|
来自: 雪柳花明 > 《TensorFLow练习汇总》