docstr: Used for forward pass through Q-Value head network.
  
  :param F: backend api, either `mxnet.nd` or `mxnet.sym` (if block has been hybridized).
  :param x: middleware state representation, of shape (batch_size, in_channels).
  :return: predicted state-action q-values, of shape (batch_size, num_actions).
docstr_tok: ["Used","for","forward","pass","through","Q-Value","head","network",".",":","param","F",":","backend","api",",","either","`","mxnet.nd","`","or","`","mxnet.sym","`","(","if","block","has","been","hybridized",")",".",":","param","x",":","middleware","state","representation",",","of","shape","(","batch_size",",","in_channels",")",".",":","return",":","predicted","state-action","q-values",",","of","shape","(","batch_size",",","num_actions",")","."]
code: def hybrid_forward(
      self, F: ModuleType, x: nd_sym_type
  ) -> nd_sym_type:
      """
      Used for forward pass through Q-Value head network.
  
      :param F: backend api, either `mxnet.nd` or `mxnet.sym` (if block has been hybridized).
      :param x: middleware state representation, of shape (batch_size, in_channels).
      :return: predicted state-action q-values, of shape (batch_size, num_actions).
      """
      return self.dense(x)
  
file_path: coach/rl_coach/architectures/mxnet_components/heads/q_head.py
imports: from typing import Union, List, Tuple
  from types import ModuleType
  import mxnet
  from mxnet.gluon.loss import Loss, HuberLoss, L2Loss
  from mxnet.gluon import nn
  from rl_coach.architectures.mxnet_components.heads.head import Head, HeadLoss, LossInputSchema
  from rl_coach.architectures.mxnet_components.heads.head import LOSS_OUT_TYPE_LOSS
  from rl_coach.base_parameters import AgentParameters
  from rl_coach.core_types import QActionStateValue
  from rl_coach.spaces import SpacesDefinition, BoxActionSpace, DiscreteActionSpace
label_desc: Use image node_id 3 for calling the QHead obj's underlying member method code with example usage: obj.hybrid_forward(F, x) and returns: self