code: def __init__(
      self,
      model,
      bn_lambda,
      update_scheduler_on,
      last_epoch=-1,
      setter=set_bn_momentum_default,
  ):
      if not isinstance(model, nn.Module):
          raise RuntimeError(
              "Class '{}' is not a PyTorch nn Module".format(
                  type(model).__name__
              )
          )
  
      self.model = model
      self.setter = setter
      self.bn_lambda = bn_lambda
      self._current_momemtum = None
      self.step(last_epoch + 1)
      self.last_epoch = last_epoch
      self._scheduler_opt = None
      self._update_scheduler_on = update_scheduler_on
  
file_path: torch-points3d/torch_points3d/core/schedulers/bn_schedulers.py
imports: from typing import *
  from omegaconf import OmegaConf
  from torch import nn
  import logging
label_desc: Use image node_id 1 to create a new BNMomentumScheduler object from inherited base classes: object with example: obj = BNMomentumScheduler(model, bn_lambda, update_scheduler_on, last_epoch, setter)