code: def learn_from_batch(self, batch):
      raise NotImplementedError(
          "ValueOptimizationAgent is an abstract agent. Not to be used directly."
      )
  
imports: from collections import OrderedDict
  from typing import Union, List
  import numpy
  from rl_coach.agents.agent import Agent
  from rl_coach.core_types import ActionInfo, StateType, Batch
  from rl_coach.filters.filter import NoInputFilter
  from rl_coach.logger import screen
  from rl_coach.memories.non_episodic.prioritized_experience_replay import PrioritizedExperienceReplay
  from rl_coach.spaces import DiscreteActionSpace
  from copy import deepcopy, copy
label_desc: Use image node_id 9 for calling the ValueOptimizationAgent obj's underlying member method code with example usage: obj.learn_from_batch(batch) without return types