Skip to content

Latest commit

 

History

History
115 lines (73 loc) · 6.58 KB

File metadata and controls

115 lines (73 loc) · 6.58 KB
graph LR
    User_Interface_CLI_["User Interface (CLI)"]
    Configuration_System["Configuration System"]
    Training_Pipeline_Orchestrator["Training Pipeline Orchestrator"]
    Prediction_Pipeline_Orchestrator["Prediction Pipeline Orchestrator"]
    Data_Management_Module["Data Management Module"]
    Core_Models["Core Models"]
    PyTorch_Lightning_Framework["PyTorch Lightning Framework"]
    ONNX_Runtime["ONNX Runtime"]
    User_Interface_CLI_ -- "invokes" --> Training_Pipeline_Orchestrator
    User_Interface_CLI_ -- "invokes" --> Prediction_Pipeline_Orchestrator
    User_Interface_CLI_ -- "configures" --> Configuration_System
    Training_Pipeline_Orchestrator -- "utilizes" --> Configuration_System
    Training_Pipeline_Orchestrator -- "utilizes" --> Data_Management_Module
    Training_Pipeline_Orchestrator -- "trains" --> Core_Models
    Training_Pipeline_Orchestrator -- "utilizes" --> PyTorch_Lightning_Framework
    Prediction_Pipeline_Orchestrator -- "utilizes" --> Configuration_System
    Prediction_Pipeline_Orchestrator -- "utilizes" --> Data_Management_Module
    Prediction_Pipeline_Orchestrator -- "infers with" --> Core_Models
    Prediction_Pipeline_Orchestrator -- "utilizes" --> ONNX_Runtime
    Prediction_Pipeline_Orchestrator -- "utilizes" --> PyTorch_Lightning_Framework
    Configuration_System -- "provides configuration to" --> Training_Pipeline_Orchestrator
    Configuration_System -- "provides configuration to" --> Prediction_Pipeline_Orchestrator
    Data_Management_Module -- "provides data to" --> Training_Pipeline_Orchestrator
    Data_Management_Module -- "provides data to" --> Prediction_Pipeline_Orchestrator
    Core_Models -- "used by" --> Training_Pipeline_Orchestrator
    Core_Models -- "used by" --> Prediction_Pipeline_Orchestrator
    PyTorch_Lightning_Framework -- "used by" --> Training_Pipeline_Orchestrator
    PyTorch_Lightning_Framework -- "used by" --> Prediction_Pipeline_Orchestrator
    ONNX_Runtime -- "used by" --> Prediction_Pipeline_Orchestrator
    click User_Interface_CLI_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/mole_public/User_Interface_CLI_.md" "Details"
    click Configuration_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/mole_public/Configuration_System.md" "Details"
Loading

CodeBoardingDemoContact

Details

The User Interface (CLI) component serves as the primary user-facing entry point for the mole_public application. It is designed as a thin wrapper, responsible for parsing command-line arguments and orchestrating the execution of core training and prediction workflows by delegating to specialized managers.

User Interface (CLI) [Expand]

This component provides the command-line interfaces for users to interact with the mole_public application. It parses user inputs and acts as the orchestrator, initiating either model training or prediction/embedding generation by invoking the appropriate pipeline orchestrators.

Related Classes/Methods:

  • cli_entry_point (1:1)
  • cli_entry_point (1:1)

Configuration System [Expand]

Manages application configurations using Hydra. It provides a structured way to define and load parameters for models, data, training, and inference, enabling a "Configuration-Driven Design."

Related Classes/Methods:

  • configuration_management (1:1)
  • configuration_management (1:1)

Training Pipeline Orchestrator

Encapsulates the end-to-end logic for model training. It receives commands from the CLI, loads configurations, sets up the data module, instantiates the model, and initiates the training process using PyTorch Lightning. It embodies the "Pipeline Architecture" for training.

Related Classes/Methods:

Prediction Pipeline Orchestrator

Manages the inference workflow, supporting both ONNX and PyTorch Lightning checkpoint-based predictions, as well as embedding generation. It receives commands from the CLI, sets up the data module for prediction, and invokes the appropriate inference logic. It embodies the "Pipeline Architecture" for inference.

Related Classes/Methods:

Data Management Module

Handles all aspects of data loading, preprocessing, and batching for both training and prediction. It ensures data is correctly prepared for the deep learning models.

Related Classes/Methods:

Core Models

Contains the actual deep learning model architectures used for training and inference, such as the base Model and Encoder. These are the "brains" of the application, performing the core computational tasks.

Related Classes/Methods:

  • model_definition (1:1)
  • model_definition (1:1)

PyTorch Lightning Framework

A high-level PyTorch framework that simplifies the deep learning training and prediction loops. It provides abstractions for trainers, models, and data modules, promoting organized and reproducible research.

Related Classes/Methods: None

ONNX Runtime

An open-source cross-platform machine learning inferencing accelerator. It is used by the Prediction Pipeline Orchestrator to perform highly optimized inference with ONNX-exported models.

Related Classes/Methods: None