MCPcopy Create free account
hub / github.com/ddbourgin/numpy-ml / Flatten

Class Flatten

numpy_ml/neural_nets/layers/layers.py:859–961  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

857
858
859class Flatten(LayerBase):
860 def __init__(self, keep_dim="first", optimizer=None):
861 """
862 Flatten a multidimensional input into a 2D matrix.
863
864 Parameters
865 ----------
866 keep_dim : {'first', 'last', -1}
867 The dimension of the original input to retain. Typically used for
868 retaining the minibatch dimension.. If -1, flatten all dimensions.
869 Default is 'first'.
870 optimizer : str, :doc:`Optimizer <numpy_ml.neural_nets.optimizers>` object, or None
871 The optimization strategy to use when performing gradient updates
872 within the :meth:`update` method. If None, use the :class:`SGD
873 <numpy_ml.neural_nets.optimizers.SGD>` optimizer with
874 default parameters. Default is None.
875
876 Attributes
877 ----------
878 X : list
879 Unused
880 gradients : dict
881 Unused
882 parameters : dict
883 Unused
884 hyperparameters : dict
885 Dictionary of layer hyperparameters
886 derived_variables : dict
887 Dictionary of any intermediate values computed during
888 forward/backward propagation.
889 """ # noqa: E501
890 super().__init__(optimizer)
891
892 self.keep_dim = keep_dim
893 self._init_params()
894
895 def _init_params(self):
896 self.gradients = {}
897 self.parameters = {}
898 self.derived_variables = {"in_dims": []}
899
900 @property
901 def hyperparameters(self):
902 """Return a dictionary containing the layer hyperparameters."""
903 return {
904 "layer": "Flatten",
905 "keep_dim": self.keep_dim,
906 "optimizer": {
907 "cache": self.optimizer.cache,
908 "hyperparameters": self.optimizer.hyperparameters,
909 },
910 }
911
912 def forward(self, X, retain_derived=True):
913 r"""
914 Compute the layer output on a single minibatch.
915
916 Parameters

Callers 1

_build_encoderMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected