class_docstr: This is actually another implementation of ``nni.trace()``.
  In this implementation, no decorator is needed. Users only need to inherit this class.
  ``is_traceable()`` check will still pass.
  
  For now, everything traced is on ``__init__``.
  Classes with customized ``__new__`` are not supported.
class_docstr_tok: ["This","is","actually","another","implementation","of","``","nni.trace","(",")","``",".","In","this","implementation",",","no","decorator","is","needed",".","Users","only","need","to","inherit","this","class",".","``","is_traceable","(",")","``","check","will","still","pass",".","For","now",",","everything","traced","is","on","``","__init__","``",".","Classes","with","customized","``","__new__","``","are","not","supported","."]
docstr: All arguments that are used to construct the instance,
  including arguments passed to ``__init__``, as well as arguments with default value.
  
  Positional arguments are not supported.
code: def args(self) -> Dict[str, Any]:
      """All arguments that are used to construct the instance,
      including arguments passed to ``__init__``, as well as arguments with default value.
  
      Positional arguments are not supported.
      """
      if self.trace_args:
          raise RuntimeError(
              "args is not available when positional argument is not empty."
          )
      rv = dict(self.trace_kwargs)
      # Add the arguments that are in signature and with default value.
      init_fn = getattr(
          self.__class__, "_init_wrapped", self.__class__.__init__
      )
      for param in inspect.signature(init_fn).parameters.values():
          if param.default is not param.empty and param.name not in rv:
              rv[param.name] = param.default
      return rv
  
imports: import copy
  import itertools
  import inspect
  import logging
  from typing import Any, Callable, Type, Iterable, Dict, Tuple, List, Optional, TypeVar
  import torch
  from torch import nn
  from nni.mutable import Mutable, LabeledMutable, Sample, SampleValidationError, ensure_frozen, frozen_context, label_scope, frozen
  from nni.nas.space import BaseModelSpace, current_model, model_context
  from nni.common.serializer import SerializableObject, _formulate_arguments, _copy_class_wrapper_attributes
label_desc: Use image node_id 4 for calling the TraceableMixin obj's underlying member method code with example usage: obj.args() and returns: rv