class_docstr: The base implementation of 2d matrix decomposition.
  
  The original article refers to
  Yuanduo Hong, Huihui Pan, Weichao Sun, et al. "Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes"
  (https://arxiv.org/abs/2101.06085)
class_docstr_tok: ["The","base","implementation","of","2d","matrix","decomposition",".","The","original","article","refers","to","Yuanduo","Hong",",","Huihui","Pan",",","Weichao","Sun",",","et","al",".","``","Deep","Dual-resolution","Networks","for","Real-time","and","Accurate","Semantic","Segmentation","of","Road","Scenes","''","(","https",":","\/\/arxiv.org\/abs\/2101.06085",")"]
code: def __init__(self, args=None):
      super().__init__()
      if args is None:
          args = dict()
      elif not isinstance(args, dict):
          raise TypeError(
              "`args` must be a dict, but got {}".foramt(
                  args.__class__.__name__
              )
          )
  
      self.spatial = args.setdefault("SPATIAL", True)
  
      self.S = args.setdefault("MD_S", 1)
      self.D = args.setdefault("MD_D", 512)
      self.R = args.setdefault("MD_R", 64)
  
      self.train_steps = args.setdefault("TRAIN_STEPS", 6)
      self.eval_steps = args.setdefault("EVAL_STEPS", 7)
  
      self.inv_t = args.setdefault("INV_T", 100)
      self.eta = args.setdefault("ETA", 0.9)
  
      self.rand_init = args.setdefault("RAND_INIT", True)
  
file_path: PaddleSeg/paddleseg/models/layers/nmf_2d.py
imports: from abc import abstractmethod, ABCMeta
  import paddle
  import paddle.nn
  import paddle.nn.functional
label_desc: Use image node_id 1 to create a new _MatrixDecomposition2DBase object from inherited base classes: nn with example: obj = _MatrixDecomposition2DBase(args)