【512】keras 中的核心网络层

参考:Layers » 核心网络层

1. Dense

1.1 语法

keras.layers.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

  就是你常用的的全连接层。

  Dense 实现以下操作: output = activation(dot(input, kernel) + bias) 其中 activation 是按逐个元素计算的激活函数,kernel 是由网络层创建的权值矩阵,以及 bias 是其创建的偏置向量 (只在 use_bias 为 True 时才有用)。

1.2 参数

  • units: 正整数,输出空间维度。
  • activation: 激活函数 (详见 activations)。 若不指定,则不使用激活函数 (即,「线性」激活: a(x) = x)。
  • use_bias: 布尔值,该层是否使用偏置向量。
  • kernel_initializerkernel 权值矩阵的初始化器 (详见 initializers)。
  • bias_initializer: 偏置向量的初始化器 (see initializers).
  • kernel_regularizer: 运用到 kernel 权值矩阵的正则化函数 (详见 regularizer)。
  • bias_regularizer: 运用到偏置向的的正则化函数 (详见 regularizer)。
  • activity_regularizer: 运用到层的输出的正则化函数 (它的 "activation")。 (详见 regularizer)。
  • kernel_constraint: 运用到 kernel 权值矩阵的约束函数 (详见 constraints)。
  • bias_constraint: 运用到偏置向量的约束函数 (详见 constraints)。

1.3 输入尺寸

  nD 张量,尺寸: (batch_size, ..., input_dim)。 最常见的情况是一个尺寸为 (batch_size, input_dim) 的 2D 输入。 

1.4 输出尺寸

  nD 张量,尺寸: (batch_size, ..., units)。 例如,对于尺寸为 (batch_size, input_dim) 的 2D 输入, 输出的尺寸为 (batch_size, units)

2. Activation

3. Dropout

4. Flatten

5. Lambda

5.1 语法

keras.layers.Lambda(function, output_shape=None, mask=None, arguments=None)

  将任意表达式封装为 Layer 对象。

  举例一:

# 添加一个 x -> x^2 层
model.add(Lambda(lambda x: x ** 2))

5.2 参数

  • function: 需要封装的函数。 将输入张量作为第一个参数。
  • output_shape: 预期的函数输出尺寸。 只在使用 Theano 时有意义。 可以是元组或者函数。 如果是元组,它只指定第一个维度; 样本维度假设与输入相同: output_shape = (input_shape[0], ) + output_shape 或者,输入是 None 且样本维度也是 None: output_shape = (None, ) + output_shape 如果是函数,它指定整个尺寸为输入尺寸的一个函数: output_shape = f(input_shape)
  • arguments: 可选的需要传递给函数的关键字参数。

  

原文地址:https://www.cnblogs.com/alex-bn-lee/p/14211718.html