[source]

LocallyConnected1D

  1. keras.layers.LocallyConnected1D(filters, kernel_size, strides=1, padding='valid', data_format=None, 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)

1D 输入的局部连接层。

LocallyConnected1D 层与 Conv1D 层的工作方式相同,除了权值不共享外,
也就是说,在输入的每个不同部分应用不同的一组过滤器。

例子

  1. # 将长度为 3 的非共享权重 1D 卷积应用于
  2. # 具有 10 个时间步长的序列,并使用 64个 输出滤波器
  3. model = Sequential()
  4. model.add(LocallyConnected1D(64, 3, input_shape=(10, 32)))
  5. # 现在 model.output_shape == (None, 8, 64)
  6. # 在上面再添加一个新的 conv1d
  7. model.add(LocallyConnected1D(32, 3))
  8. # 现在 model.output_shape == (None, 6, 32)

参数

  • filters: 整数,输出空间的维度
    (即卷积中滤波器的输出数量)。
  • kernel_size: 一个整数,或者单个整数表示的元组或列表,
    指明 1D 卷积窗口的长度。
  • strides: 一个整数,或者单个整数表示的元组或列表,
    指明卷积的步长。
    指定任何 stride 值 != 1 与指定 dilation_rate 值 != 1 两者不兼容。
  • padding: 当前仅支持 "valid" (大小写敏感)。
    "same" 可能会在未来支持。
  • activation: 要使用的激活函数
    (详见 activations)。
    如果你不指定,则不使用激活函数
    (即线性激活: a(x) = x)。
  • use_bias: 布尔值,该层是否使用偏置向量。
  • kernel_initializer: kernel 权值矩阵的初始化器
    (详见 initializers)。
  • bias_initializer: 偏置向量的初始化器
    (详见 initializers)。
  • kernel_regularizer: 运用到 kernel 权值矩阵的正则化函数
    (详见 regularizer)。
  • bias_regularizer: 运用到偏置向量的正则化函数
    (详见 regularizer)。
  • activity_regularizer: 运用到层输出(它的激活值)的正则化函数
    (详见 regularizer)。
  • kernel_constraint: 运用到 kernel 权值矩阵的约束函数
    (详见 constraints)。
  • bias_constraint: 运用到偏置向量的约束函数
    (详见 constraints)。

输入尺寸

3D 张量,尺寸为: (batch_size, steps, input_dim)

输出尺寸

3D 张量 ,尺寸为:(batch_size, new_steps, filters)
steps 值可能因填充或步长而改变。


[source]

LocallyConnected2D

  1. keras.layers.LocallyConnected2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, 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)

2D 输入的局部连接层。

LocallyConnected2D 层与 Conv2D 层的工作方式相同,除了权值不共享外,
也就是说,在输入的每个不同部分应用不同的一组过滤器。

例子

  1. # 在 32x32 图像上应用 3x3 非共享权值和64个输出过滤器的卷积
  2. # 数据格式 `data_format="channels_last"`:
  3. model = Sequential()
  4. model.add(LocallyConnected2D(64, (3, 3), input_shape=(32, 32, 3)))
  5. # 现在 model.output_shape == (None, 30, 30, 64)
  6. # 注意这一层的参数数量为 (30*30)*(3*3*3*64) + (30*30)*64
  7. # 在上面再加一个 3x3 非共享权值和 32 个输出滤波器的卷积:
  8. model.add(LocallyConnected2D(32, (3, 3)))
  9. # 现在 model.output_shape == (None, 28, 28, 32)

参数

  • filters: 整数,输出空间的维度
    (即卷积中滤波器的输出数量)。
  • kernel_size: 一个整数,或者 2 个整数表示的元组或列表,
    指明 2D 卷积窗口的宽度和高度。
    可以是一个整数,为所有空间维度指定相同的值。
  • strides: 一个整数,或者 2 个整数表示的元组或列表,
    指明卷积沿宽度和高度方向的步长。
    可以是一个整数,为所有空间维度指定相同的值。
  • padding: 当前仅支持 "valid" (大小写敏感)。
    "same" 可能会在未来支持。
  • data_format: 字符串,
    channels_last (默认) 或 channels_first 之一。
    输入中维度的顺序。
    channels_last 对应输入尺寸为 (batch, height, width, channels)
    channels_first 对应输入尺寸为 (batch, channels, height, width)
    它默认为从 Keras 配置文件 ~/.keras/keras.json
    找到的 image_data_format 值。
    如果你从未设置它,将使用 “channels_last”。
  • activation: 要使用的激活函数
    (详见 activations)。
    如果你不指定,则不使用激活函数
    (即线性激活: a(x) = x)。
  • use_bias: 布尔值,该层是否使用偏置向量。
  • kernel_initializer: kernel 权值矩阵的初始化器
    (详见 initializers)。
  • bias_initializer: 偏置向量的初始化器
    (详见 initializers)。
  • kernel_regularizer: 运用到 kernel 权值矩阵的正则化函数
    (详见 regularizer)。
  • bias_regularizer: 运用到偏置向量的正则化函数
    (详见 regularizer)。
  • activity_regularizer: 运用到层输出(它的激活值)的正则化函数
    (详见 regularizer)。
  • kernel_constraint: 运用到 kernel 权值矩阵的约束函数
    (详见 constraints)。
  • bias_constraint: 运用到偏置向量的约束函数
    (详见 constraints)。

输入尺寸

4D 张量,尺寸为:
(samples, channels, rows, cols),如果 data_format=’channels_first’;
或者 4D 张量,尺寸为:
(samples, rows, cols, channels),如果 data_format=’channels_last’。

输出尺寸

4D 张量,尺寸为:
(samples, filters, new_rows, new_cols),如果 data_format=’channels_first’;
或者 4D 张量,尺寸为:
(samples, new_rows, new_cols, filters),如果 data_format=’channels_last’。
rowscols 的值可能因填充而改变。