MCPcopy Index your code
hub / github.com/ddbourgin/numpy-ml / Pool2D

Class Pool2D

numpy_ml/neural_nets/layers/layers.py:3181–3350  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3179
3180
3181class Pool2D(LayerBase):
3182 def __init__(self, kernel_shape, stride=1, pad=0, mode="max", optimizer=None):
3183 """
3184 A single two-dimensional pooling layer.
3185
3186 Parameters
3187 ----------
3188 kernel_shape : 2-tuple
3189 The dimension of a single 2D filter/kernel in the current layer
3190 stride : int
3191 The stride/hop of the convolution kernels as they move over the
3192 input volume. Default is 1.
3193 pad : int, tuple, or 'same'
3194 The number of rows/columns of 0's to pad the input. Default is 0.
3195 mode : {"max", "average"}
3196 The pooling function to apply.
3197 optimizer : str, :doc:`Optimizer <numpy_ml.neural_nets.optimizers>` object, or None
3198 The optimization strategy to use when performing gradient updates
3199 within the :meth:`update` method. If None, use the :class:`SGD
3200 <numpy_ml.neural_nets.optimizers.SGD>` optimizer with
3201 default parameters. Default is None.
3202 """ # noqa: E501
3203 super().__init__(optimizer)
3204
3205 self.pad = pad
3206 self.mode = mode
3207 self.in_ch = None
3208 self.out_ch = None
3209 self.stride = stride
3210 self.kernel_shape = kernel_shape
3211 self.is_initialized = False
3212
3213 def _init_params(self):
3214 self.derived_variables = {"out_rows": [], "out_cols": []}
3215 self.is_initialized = True
3216
3217 @property
3218 def hyperparameters(self):
3219 """Return a dictionary containing the layer hyperparameters."""
3220 return {
3221 "layer": "Pool2D",
3222 "act_fn": None,
3223 "pad": self.pad,
3224 "mode": self.mode,
3225 "in_ch": self.in_ch,
3226 "out_ch": self.out_ch,
3227 "stride": self.stride,
3228 "kernel_shape": self.kernel_shape,
3229 "optimizer": {
3230 "cache": self.optimizer.cache,
3231 "hyperparameters": self.optimizer.hyperparameters,
3232 },
3233 }
3234
3235 def forward(self, X, retain_derived=True):
3236 """
3237 Compute the layer output given input volume `X`.
3238

Callers 2

test_Pool2DFunction · 0.90
_build_encoderMethod · 0.85

Calls

no outgoing calls

Tested by 1

test_Pool2DFunction · 0.72