class_docstr: A minimal child class to test the methods in the DQNTrainerBase class.
class_docstr_tok: ["A","minimal","child","class","to","test","the","methods","in","the","DQNTrainerBase","class","."]
docstr: Gets the q values from the model and target networks
docstr_tok: ["Gets","the","q","values","from","the","model","and","target","networks"]
code: def get_detached_model_outputs(
      self, state
  ) -> Tuple[torch.Tensor, Optional[torch.Tensor]]:
      """Gets the q values from the model and target networks"""
      q_values = self.q_network(state)
      q_values_target = self.q_network_target(state)
      return q_values, q_values_target
  
imports: import unittest
  from typing import List, Optional, Tuple
  import torch
  from reagent.core.parameters import EvaluationParameters, RLParameters
  from reagent.core.torch_utils import masked_softmax
  from reagent.core.types import DiscreteDqnInput, ExtraData, FeatureData
  from reagent.evaluation.evaluation_data_page import EvaluationDataPage
  from reagent.evaluation.evaluator import get_metrics_to_score
  from reagent.models.dqn import FullyConnectedDQN
  from reagent.training.dqn_trainer_base import DQNTrainerBaseLightning
  from reagent.training.parameters import DQNTrainerParameters
  from reagent.workflow.types import RewardOptions
label_desc: Use image node_id 2 for calling the MockDQNTrainer obj's underlying member method code with example usage: obj.get_detached_model_outputs(state) and returns: q_values,  q_values_target