1. >>> input_shape = (4, 10, 128)
  2. >>> x = tf.random.normal(input_shape)
  3. >>> y = tf.keras.layers.Conv1D(
  4. ... 32, 3, activation='relu',input_shape=input_shape[1:])(x)
  5. >>> print(y.shape)
  6. (4, 8, 32)

input 参数解释:

batch_size =4
length =10 (string 中 有多个 char)
channels = 128 (每个char 对应的onehot编码)

output

batch_size =4
length =8 经过了滑动窗口的特征提取
channels =filter 设置了多少特征

Conv1d

  1. tf.keras.layers.Conv1D(
  2. filters, # 输出多个通道
  3. kernel_size, # 滑动窗口大小
  4. strides=1,
  5. padding="valid",
  6. data_format="channels_last",
  7. dilation_rate=1,
  8. groups=1,
  9. activation=None,
  10. use_bias=True,
  11. kernel_initializer="glorot_uniform",
  12. bias_initializer="zeros",
  13. kernel_regularizer=None,
  14. bias_regularizer=None,
  15. activity_regularizer=None,
  16. kernel_constraint=None,
  17. bias_constraint=None,
  18. **kwargs
  19. )