constructor(attrs = {}) {
    super(attrs)
    this.layerClass = '_Pooling1D'

    const { pool_size = 2, strides = null, padding = 'valid' } = attrs

    this.poolSize = pool_size
    this.strides = strides === null ? this.poolSize : strides
    this.padding = padding

    // default pooling function
    // can be `max` or `average`
    this.poolingFunc = 'max'

    this.description = `pool size ${this.poolSize}`
    this.description += this.strides > 1 ? `, striding ${this.strides} striding` : ''
    this.description += this.padding === 'valid' ? `, no border padding` : ', pad to same borders'

    // GPU setup
    if (this.gpu) {
      this.poolingProgram = webgl2.compileProgram(poolingProgramSource)
      this.poolingFragmentsProgram = webgl2.compileProgram(poolingFragmentsProgramSource)
    }
  }
Creates a _Pooling1D layer

@param {Object} [attrs] - layer config attributes