Keras 核心层2024年8月28日 | 阅读 11 分钟 DenseDense 层可以定义为密集连接的常见神经网络层。Dense 层执行 output = activation(dot(input, kernel) +bias) 操作。这里,activation 是一个逐元素执行的激活函数,activation 参数用于传递激活函数,kernel 是层构建的权重矩阵,bias 是层创建的向量,仅当 use_bias 为 True 时才适用。 需要注意的是,如果输入到层的秩大于二,则在与 kernel 进行点积之前会将其展平。 示例 参数
输入形状 输入形状层接受一个形状为 (batch_size, …, input_dim) 的 nD 张量,并确保其最常见的情况是包含形状为 (batch_size, input_dim) 的 2D 输入。 输出形状 它输出一个形状为 (batch_size, …, units) 的 nD 张量。例如,当 input 是形状为 (batch_size, input_dim) 的 2D 张量时,相应的 output 将是形状为 (batch_size, units) 的张量。 激活这是在输出上实现激活函数的层。 参数
输入形状 它包含任意输入形状。在使用它作为模型中的初始层时,它会使用一个名为 input_shape 的参数。input_shape 可以定义为不包含样本轴的整数元组。 输出形状 输出形状与输入形状相同。 Dropoutdropout 应用于输入,因为它通过在训练期间的每次更新时以一定比例随机将单元设置为 0 来防止过拟合。 参数
FlattenFlatten 层用于展平输入,而不影响批次大小。 参数
示例 输入Input 层使用 Input() 来实例化一个 Keras 张量,它只是一个后端(如 Theano、TensorFlow 或 CNTK)的张量对象。它可以添加一些特定属性,这些属性将允许我们仅使用输入和输出来构建 Keras 模型。 如果我们有 m、n 和 o 个 Keras 张量,那么我们可以执行 model = Model(input=[m, n], output=o)。 其他添加的 Keras 属性有:_keras_shape,通过 Keras 端形状推理传播的整数形状元组;以及 _keras_history,这是应用于张量的最后一个层。最后一个层使得能够递归地检索整个层图。 参数
返回值 它返回一个张量。 示例 Reshape它用于将输出重塑为特定形状。 参数
输入形状 它包含任意输入形状,即使它是固定的,并且在使用此层作为模型中的初始层时使用 input_shape 参数。 输出形状 示例 Permute它根据给定的模式置换输入的维度,主要用于将 RNN 与 convnets 连接起来。 示例 参数
输入形状 它包含任意输入形状,并使用 input_shape 关键字参数,这是一个整数元组。在使用此层作为模型中的初始层时,将使用此参数。它不包含样本轴。 输出形状 输出形状与输入形状相似,只是维度根据某些特定模式进行了重新排序。 RepeatVectorRepeatVector 层用于将输入重复 n 次。 示例 参数
输入形状 它包含形状为 (num_samples, features) 的 2D 张量。 输出形状 它构成一个形状为 (num_samples, n, features) 的 3D 张量。 Lambda此层用于包装任意表达式,如 Layer 对象。 示例 参数
输入形状 输入形状是一个任意整数元组,在使用此层作为模型中的初始层时使用 input_shape 参数,并且不包含样本轴。 输出形状 它要么由 output_shape 参数指定,要么在使用 TensorFlow 或 CNTK 时自动推断。 ActivityRegularizationActivityRegularization 层根据输入活动更新成本函数。 参数
输入形状 它是一个任意整数元组,在使用此层作为模型中的初始层时使用 input_shape 参数。它不包含样本轴。 输出形状 输出形状与输入形状相似。 MaskingMasking 层用于掩码序列,只需使用一个掩码值来避免时间步。对于给定的时间步样本,如果所有特征都等于 mask_value,那么在这种情况下,样本时间步将被掩码(跳过)在所有下游层中,前提是它们支持掩码。 如果下游层不支持掩码但仍接收输入掩码,则会引发异常。 示例 设 x 是形状为 (samples, timesteps, features) 的 numpy 数据数组,它将被馈送到 LSTM 层。现在假设您希望在时间步 #3 掩码 #0,并在时间步 #5 掩码 #2,因为您缺少这些样本时间步的特征,那么您可以执行以下操作:
参数
SpatialDropout1D这是 SpatialDropout1D 版本,它执行与 dropout 相同的功能,但它不丢弃单个元素,而是丢弃整个 1D 特征图。当特征图中的连续帧强相关(就像在卷积层中那样)时,在这种情况下,激活不会被常规 dropout 正则化,而是会降低有效学习率。在这种特定情况下,它有助于促进特征图之间的独立性,并将其用于替代。 参数
输入形状 它是一个形状为 (samples, timesteps, channels) 的 3D 张量。 输出形状 输出形状与输入形状相似。 SpatialDropout2D这是 SpatialDropout2D 版本。它也执行与 dropout 类似的功能;然而,它丢弃整个 2D 特征图而不是单个元素。如果特征图中的相邻帧强相关(就像在卷积层中所做的那样),那么激活不会被常规 dropout 正则化,否则会降低有效学习率。在这种情况下,它促进了特征图之间的独立性,并以此代替。 参数
输入形状 如果 data_format='channels_first',则 4D 张量的形状为 (samples, channels, rows, cols),否则,如果 data_format='channels_last',则 4D 张量的形状为 (samples, rows, cols, channels)。 输出形状 输出形状与输入形状相似。 SpatialDropout3D这是 SpatialDropout3D 版本,它执行与 dropout 类似的功能,但它丢弃完整的 3D 特征图而不是任何特定的元素。如果特征图中的相邻体素像卷积层一样强相关,则常规 dropout 不会正则化激活,否则会降低有效学习率。它还支持特征图之间的独立性。 参数
输入形状 如果 data_format='channels_first',则 5D 张量的形状为:(samples, channels, dim1, dim2, dim3),否则,如果 data_format='channels_last',则形状为 (samples, dim1, dim2, dim3, channels)。 输出形状 输出形状与输入形状相同。 下一主题卷积层 |
我们请求您订阅我们的新闻通讯以获取最新更新。