docstr: Given a state, get the corresponding state embedding  from the main network
  
  :param state: a state dict
  :return: a numpy embedding vector
docstr_tok: ["Given","a","state",",","get","the","corresponding","state","embedding","from","the","main","network",":","param","state",":","a","state","dict",":","return",":","a","numpy","embedding","vector"]
code: def get_state_embedding(self, state: dict) -> np.ndarray:
      """
      Given a state, get the corresponding state embedding  from the main network
  
      :param state: a state dict
      :return: a numpy embedding vector
      """
      # TODO: this won't work anymore
      # TODO: instead of the state embedding (which contains the goal) we should use the observation embedding
      embedding = self.networks["main"].online_network.predict(
          self.prepare_batch_for_inference(state, "main"),
          outputs=self.networks["main"].online_network.state_embedding,
      )
      return embedding
  
imports: import copy
  import random
  from collections import OrderedDict
  from typing import Dict, List, Union, Tuple
  import numpy
  from six.moves import range
  from rl_coach.agents.agent_interface import AgentInterface
  from rl_coach.architectures.network_wrapper import NetworkWrapper
  from rl_coach.base_parameters import AgentParameters, Device, DeviceType, DistributedTaskParameters, Frameworks
  from rl_coach.core_types import RunPhase, PredictionType, EnvironmentEpisodes, ActionType, Batch, Episode, StateType
  from rl_coach.core_types import Transition, ActionInfo, TrainingSteps, EnvironmentSteps, EnvResponse
  from rl_coach.logger import screen, Logger, EpisodeLogger
  from rl_coach.memories.episodic.episodic_experience_replay import EpisodicExperienceReplay
  from rl_coach.saver import SaverCollection
  from rl_coach.spaces import SpacesDefinition, VectorObservationSpace, GoalsSpace, AttentionActionSpace
  from rl_coach.utils import Signal, force_list
  from rl_coach.utils import dynamic_import_and_instantiate_module_from_params
  from rl_coach.memories.backend.memory_impl import get_memory_backend
  from rl_coach.core_types import TimeTypes
  from rl_coach.off_policy_evaluators.ope_manager import OpeManager
  from rl_coach.core_types import PickledReplayBuffer, CsvDataset
label_desc: Use image node_id 30 for calling the Agent obj's underlying member method code with example usage: obj.get_state_embedding(state) and returns: embedding