code: def __post_init_post_parse__(self):
      super().__post_init_post_parse__()
      assert (
          len(self.action_names) > 1
      ), "DiscreteQRDQNModel needs at least 2 actions"
      assert (
          self.trainer_param.minibatch_size % 8 == 0
      ), "The minibatch size must be divisible by 8 for performance reasons."
  
file_path: ReAgent/reagent/model_managers/discrete/discrete_qrdqn.py
imports: import logging
  from typing import Dict, Optional
  import torch
  from reagent.core.dataclasses import dataclass, field
  from reagent.core.parameters import NormalizationData, NormalizationKey, param_hash
  from reagent.evaluation.evaluator import get_metrics_to_score
  from reagent.model_managers.discrete_dqn_base import DiscreteDQNBase
  from reagent.net_builder.discrete_dqn.fully_connected import FullyConnected
  from reagent.net_builder.quantile_dqn.dueling_quantile import DuelingQuantile
  from reagent.net_builder.unions import DiscreteDQNNetBuilder__Union, QRDQNNetBuilder__Union
  from reagent.training import QRDQNTrainer, QRDQNTrainerParameters, ReAgentLightningModule
  from reagent.workflow.types import RewardOptions
label_desc: Use image node_id 1 for calling the DiscreteQRDQN obj's underlying member method code with example usage: obj.__post_init_post_parse__() without return types