code: def __init__(self):
      super().__init__()
      self.input_embedders_parameters = {
          "observation": InputEmbedderParameters()
      }
      self.middleware_parameters = FCMiddlewareParameters(
          scheme=MiddlewareScheme.Medium
      )
      self.heads_parameters = [RegressionHeadParameters()]
      self.optimizer_type = "Adam"
      self.batch_size = 32
      self.replace_mse_with_huber_loss = False
      self.create_target_network = False
  
imports: from typing import Union
  from rl_coach.agents.imitation_agent import ImitationAgent
  from rl_coach.architectures.embedder_parameters import InputEmbedderParameters
  from rl_coach.architectures.head_parameters import RegressionHeadParameters
  from rl_coach.architectures.middleware_parameters import FCMiddlewareParameters
  from rl_coach.base_parameters import AgentParameters, MiddlewareScheme, NetworkParameters, AlgorithmParameters
  from rl_coach.exploration_policies.e_greedy import EGreedyParameters
  from rl_coach.memories.non_episodic.balanced_experience_replay import BalancedExperienceReplayParameters
label_desc: Use image node_id 1 to create a new CILNetworkParameters object from inherited base classes: NetworkParameters with example: obj = CILNetworkParameters()