class_docstr: An ensembler that averages the weights of submodel outputs.
code: def __init__(self, loss, optimizer, metrics, freeze_submodels=True):
      super().__init__(loss, optimizer, metrics)
      self._freeze_submodels = freeze_submodels
  
imports: import abc
  import random
  from typing import Iterable, Iterator, List
  from adanet.experimental.keras.ensemble_model import EnsembleModel
  from adanet.experimental.keras.ensemble_model import MeanEnsemble
  from adanet.experimental.phases.phase import DatasetProvider
  from adanet.experimental.phases.phase import ModelProvider
  from adanet.experimental.storages.in_memory_storage import InMemoryStorage
  from adanet.experimental.storages.storage import Storage
  from adanet.experimental.work_units.keras_trainer_work_unit import KerasTrainerWorkUnit
  from adanet.experimental.work_units.work_unit import WorkUnit
  import tensorflow.compat.v2
label_desc: Use image node_id 1 to create a new MeanEnsembler object from inherited base classes: Ensembler with example: obj = MeanEnsembler(loss, optimizer, metrics, freeze_submodels)