class_docstr: A Qtopt Agent.
  
  Implements the Qt-Opt algorithm from
  
  "QT-Opt: Scalable Deep Reinforcement Learning for Vision-Based Robotic "
    "Manipulation"
  
   Dmitry Kalashnikov et al., 2018
   https://arxiv.org/abs/1806.10293
code: def _compute_q_values(
      self, time_steps, actions, network_state=(), training=False
  ):
      q_values, _ = self._q_network(
          (time_steps.observation, actions),
          step_type=time_steps.step_type,
          network_state=network_state,
          training=training,
      )
  
      return q_values
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import typing
  import gin
  import tensorflow
  from tf_agents.agents import data_converter
  from tf_agents.agents import tf_agent
  from tf_agents.networks import utils
  from tf_agents.policies import epsilon_greedy_policy
  from tf_agents.policies import qtopt_cem_policy
  from tf_agents.specs import tensor_spec
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import eager_utils
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 15 for calling the QtOptAgent obj's underlying member method code with example usage: obj._compute_q_values(time_steps, actions, network_state, training) and returns: q_values