code: def _get_generator(proto):
      if proto.type == "Normal":
          return NormalInitializer(sigma=proto.multiplier)
      elif proto.type == "Uniform":
          return UniformInitializer(
              lim=(-proto.multiplier, proto.multiplier)
          )
      elif proto.type == "Range":
          return RangeInitializer(start=0, step=proto.multiplier)
      elif proto.type == "Constant":
          return ConstantInitializer(value=proto.multiplier)
      else:
          raise ValueError(
              'Generator type "' + proto.type + '" is not supported.'
          )
  
imports: from collections import OrderedDict
  import google.protobuf.text_format
  import itertools
  import numpy
  import os
  import re
  import shutil
  import tempfile
  from nnabla.initializer import NormalInitializer, UniformInitializer, ConstantInitializer, RangeInitializer, calc_normal_std_he_forward, calc_normal_std_he_backward, calc_normal_std_glorot, calc_uniform_lim_glorot
  from nnabla.logger import logger
  from nnabla.parameter import get_parameter_or_create
  from nnabla.utils import nnabla_pb2
  from nnabla.utils.data_iterator import data_iterator_csv_dataset, data_iterator_cache
  from nnabla.utils.create_cache import CreateCache
  from nnabla.utils.load_function import _create_function_instance
  from nnabla.utils.nnp_format import nnp_version
  from nnabla.utils.communicator_util import current_communicator, single_or_rankzero
  from nnabla.utils.learning_rate_scheduler import PolynomialScheduler, CosineScheduler, ExponentialScheduler, StepScheduler, LinearWarmupScheduler
  from legacy_network import Network
  from nnabla.utils.progress import progress
  from legacy_get_file_handle import get_file_handle_load, get_buf_type
  import nnabla
  import nnabla.function
  import nnabla.solver
label_desc: Use image node_id 6 for calling a global function with example usage: _get_generator(proto) and returns: NormalInitializer, UniformInitializer, RangeInitializer, ConstantInitializer