class_docstr: ModelManager manages how to train models.
  
  Each type of models can have their own config type, implemented as
  `config_type()` class method. `__init__()` of the concrete class must take
  this type.
  
  To integrate training algorithms into the standard training workflow, you need:
  1. `build_trainer()`: Builds the ReAgentLightningModule
  2. `get_data_module()`: Defines how to create data module for this algorithm
  3. `build_serving_modules()`: Creates the TorchScript modules for serving
  4. `get_reporter()`: Returns the reporter to collect training/evaluation metrics
  5. `create_policy()`: (Optional) Creates Policy object for to interact with Gym
docstr: We use pydantic to parse raw config into typed (dataclass) config.
  This method is called after everything is parsed, so you could
  validate constraints that may not be captured with the type alone.
  
  See https://pydantic-docs.helpmanual.io/usage/dataclasses/#initialize-hooks
docstr_tok: ["We","use","pydantic","to","parse","raw","config","into","typed","(","dataclass",")","config",".","This","method","is","called","after","everything","is","parsed",",","so","you","could","validate","constraints","that","may","not","be","captured","with","the","type","alone",".","See","https",":","\/\/pydantic-docs.helpmanual.io\/usage\/dataclasses\/","#","initialize-hooks"]
code: def __post_init_post_parse__(self):
      """
      We use pydantic to parse raw config into typed (dataclass) config.
      This method is called after everything is parsed, so you could
      validate constraints that may not be captured with the type alone.
  
      See https://pydantic-docs.helpmanual.io/usage/dataclasses/#initialize-hooks
      """
      pass
  
imports: import abc
  import logging
  from typing import Dict, List, Optional, Tuple
  import pytorch_lightning
  import torch
  from reagent.core.dataclasses import dataclass
  from reagent.core.parameters import NormalizationData
  from reagent.data.reagent_data_module import ReAgentDataModule
  from reagent.reporting.reporter_base import ReporterBase
  from reagent.training import MultiStageTrainer, ReAgentLightningModule
  from reagent.workflow.types import Dataset, ReaderOptions, ResourceOptions, RewardOptions, RLTrainingOutput, RLTrainingReport, TableSpec
  from reagent.workflow.utils import get_rank, train_eval_lightning
label_desc: Use image node_id 1 for calling the ModelManager obj's underlying member method code with example usage: obj.__post_init_post_parse__() without return types