class_docstr: Base trainer class for the DQN algorihtm variants.
  
  A base class for training variants of the DQN algorithm.
  Provides methods for q-values calculation, reward boosting, and also
  initializing and training counterfactual policy evaluation
  metrics estimators (see https://arxiv.org/abs/1811.00260 for detail).
  
  Attributes:
      rl_parameters: an object of a reagent.core.parameters.RLParameters
          data class.
      metrics_to_score: a list of strings representing reward metrics.
      evaluation_parameters: an object of a
          reagent.core.parameters.EvaluationParameters data class.
      q_network_loss: a loss function object, currently either
          torch.nn.functional.mse_loss or torch.nn.functional.smooth_l1_loss.
      reward_boosts: a torch tensor containing reward boost values at
          indices corresponding to respective discrete actions.
      calc_cpe_in_training: a boolean flag whether to calculate CPE metrics
          during training.
      reward_network: a network object mapping states to rewards and
          extra reward metrics. Given the number of discrete actions n and
          e.g. a set of k reward metrics `m_1`, `m_2`, ..., and `m_k`, the
          reward_network output has shape (batch_size, n * k), where
          the [:, (k - 1) * n : k * n] sub-tensor contains the metric `m_k`
          q-values estimates for each of the n actions. The order of metrics
          in the output is the following: the environment reward, followed by
          extra metrics sorted by their names in RewardOptions.metric_reward_values
          config.
      reward_network_optimizer: an optimizer object for training
          reward network.
      q_network_cpe: a network object mapping states to CPE metrics.
      q_network_cpe_target: a copy of q_network_cpe for training stability.
      q_network_cpe_optimizer: an optimizer object for training q_network_cpe.
      reward_idx_offsets: a flat torch tensor containing integer offsets of
          different reward metrics in the reward_network output.
      evaluator: an object of a reagent.evaluation.evaluator.Evaluator class.
docstr: Applies reward boosts to the rewards tensor.
  
  Given the (batch_size, num_actions) actions tensor, computes the
  reward boosts for each time step based on the values stored in the
  reward_boosts attribute and augments the rewards tensor.
  
  Args:
      rewards: a (batch_size, 1) shaped torch tensor with rewards values.
      actions: a (batch_size, num_actions) torch tensor with executed actions.
  
  Returns:
      a (batch_size, 1) shaped torch tensor with boosted rewards values.
docstr_tok: ["Applies","reward","boosts","to","the","rewards","tensor",".","Given","the","(","batch_size",",","num_actions",")","actions","tensor",",","computes","the","reward","boosts","for","each","time","step","based","on","the","values","stored","in","the","reward_boosts","attribute","and","augments","the","rewards","tensor",".","Args",":","rewards",":","a","(","batch_size",",","1",")","shaped","torch","tensor","with","rewards","values",".","actions",":","a","(","batch_size",",","num_actions",")","torch","tensor","with","executed","actions",".","Returns",":","a","(","batch_size",",","1",")","shaped","torch","tensor","with","boosted","rewards","values","."]
code: def boost_rewards(
      self, rewards: torch.Tensor, actions: torch.Tensor
  ) -> torch.Tensor:
      """Applies reward boosts to the rewards tensor.
  
      Given the (batch_size, num_actions) actions tensor, computes the
      reward boosts for each time step based on the values stored in the
      reward_boosts attribute and augments the rewards tensor.
  
      Args:
          rewards: a (batch_size, 1) shaped torch tensor with rewards values.
          actions: a (batch_size, num_actions) torch tensor with executed actions.
  
      Returns:
          a (batch_size, 1) shaped torch tensor with boosted rewards values.
      """
      # Apply reward boost if specified
      reward_boosts = torch.sum(
          actions.float() * self.reward_boosts,
          dim=1,
          keepdim=True,
      )
      return rewards + reward_boosts
  
imports: import logging
  from abc import abstractmethod
  from typing import Dict, List, Optional
  import reagent.core.types
  import torch
  import torch.nn.functional
  from reagent.core.parameters import EvaluationParameters, RLParameters
  from reagent.core.torch_utils import masked_softmax
  from reagent.evaluation.evaluation_data_page import EvaluationDataPage
  from reagent.evaluation.evaluator import Evaluator
  from reagent.optimizer import Optimizer__Union
  from reagent.training.reagent_lightning_module import ReAgentLightningModule
  from reagent.training.rl_trainer_pytorch import RLTrainerMixin
label_desc: Use image node_id 6 for calling the DQNTrainerBaseLightning obj's underlying member method code with example usage: obj.boost_rewards(rewards, actions) and returns: unknown