code: def __new__(metacls, typename, bases, namespace):
      annotations = namespace.get("__annotations__", {})
      for t in annotations.values():
          if getattr(t, "__origin__", "") is Union:
              for ut in t.__args__:
                  _assert_tensorizer_type(ut)
          else:
              _assert_tensorizer_type(t)
      return super().__new__(metacls, typename, bases, namespace)
  
imports: import os
  from typing import Dict, List, Union
  import torch
  import torch.jit
  import torch.nn
  from pytext.common.constants import Stage, TORCH_VERSION
  from pytext.config.component import Component, ComponentType
  from pytext.config.doc_classification import ModelInput
  from pytext.config.field_config import FeatureConfig
  from pytext.config.pytext_config import ConfigBase, ConfigBaseMeta
  from pytext.data import CommonMetadata
  from pytext.data.tensorizers import Tensorizer
  from pytext.models.module import create_module
  from pytext.utils.file_io import PathManager
  from pytext.utils.path import is_absolute_path
  from pytext.utils.precision import maybe_float
  from pytext.utils.usage import log_class_usage
  from .decoders import DecoderBase
  from .embeddings import EmbeddingBase, EmbeddingList
  from .output_layers import OutputLayerBase
  from .representations.representation_base import RepresentationBase
label_desc: Use image node_id 1 for calling the ModelInputMeta obj's underlying member method code with example usage: obj.__new__(metacls, typename, bases, namespace) and returns: super