     /// The padding algorithm for pooling.
     @noDerivative let padding: Padding
 
-    public init(poolSize: (Int, Int), strides: (Int, Int), padding: Padding) {
+    public init(poolSize: (Int, Int), strides: (Int, Int), padding: Padding = .valid) {
         self.poolSize = (1, Int32(poolSize.0), Int32(poolSize.1), 1)
         self.strides = (1, Int32(strides.0), Int32(strides.1), 1)
         self.padding = padding

    init<G: RandomNumberGenerator>(
        filterShape: (Int, Int, Int, Int),
        strides: (Int, Int) = (1, 1),
        padding: Padding,
        activation: @escaping Activation = identity,
        generator: inout G
    ) {

    init(
        filterShape: (Int, Int, Int, Int),
        strides: (Int, Int) = (1, 1),
        padding: Padding = .valid,
        activation: @escaping Activation = identity
    ) {
      self.init(filterShape: filterShape, strides: strides, padding: padding,
