code: def _save_container_state(
      container,
      weights_store,
      assets_store,
      inner_path,
      visited_trackables,
  ):
      used_names = {}
      if isinstance(container, dict):
          container = list(container.values())
  
      for trackable in container:
          if _is_keras_trackable(trackable):
              # Do NOT address the trackable via `trackable.name`, since
              # names are usually autogenerated and thus not reproducible
              # (i.e. they may vary across two instances of the same model).
              name = naming.to_snake_case(trackable.__class__.__name__)
              if name in used_names:
                  used_names[name] += 1
                  name = f"{name}_{used_names[name]}"
              else:
                  used_names[name] = 0
              _save_state(
                  trackable,
                  weights_store,
                  assets_store,
                  inner_path=file_utils.join(inner_path, name).replace(
                      "\\", "/"
                  ),
                  visited_trackables=visited_trackables,
              )
  
imports: import datetime
  import io
  import json
  import tempfile
  import warnings
  import zipfile
  import numpy
  from keras.backend.common import global_state
  from keras.layers.layer import Layer
  from keras.losses.loss import Loss
  from keras.metrics.metric import Metric
  from keras.optimizers.optimizer import Optimizer
  from keras.saving.serialization_lib import ObjectSharingScope
  from keras.saving.serialization_lib import deserialize_keras_object
  from keras.saving.serialization_lib import serialize_keras_object
  from keras.trainers.compile_utils import CompileMetrics
  from keras.utils import file_utils
  from keras.utils import naming
  from keras.version import __version__
label_desc: Use image node_id 11 for calling a global function with example usage: _save_container_state(container, weights_store, assets_store, inner_path, visited_trackables) without return types