docs: def _init_training(self):
          # pylint: disable=redefined-variable-type
          """Classes needed during training."""
          if self.check:
              self.backprop = CheckedBackprop(self.network, self.problem.cost)
          else:
              self.backprop = BatchBackprop(self.network, self.problem.cost)
          self.momentum = Momentum()
          self.decent = GradientDecent()
          self.decay = WeightDecay()
          self.tying = WeightTying(*self.problem.weight_tying)
          self.weights = self.tying(self.weights)