graph LR
Predictor["Predictor"]
Model_Architectures["Model Architectures"]
Data_Handler["Data Handler"]
Utilities["Utilities"]
Logger["Logger"]
Predictor -- "loads/infers from" --> Model_Architectures
Predictor -- "uses" --> Data_Handler
Predictor -- "utilizes" --> Utilities
Predictor -- "logs via" --> Logger
Model_Architectures -- "provides models to" --> Predictor
Data_Handler -- "prepares data for" --> Predictor
Utilities -- "provides support to" --> Predictor
Logger -- "receives logs from" --> Predictor
The Prediction & Inference subsystem is designed to efficiently utilize a trained deep learning model to generate predictions on new data. It encapsulates the entire workflow from data preparation to final output, ensuring a robust and observable inference process.
This is the central orchestrator of the inference process. It is responsible for loading pre-trained model weights, preparing input data for prediction, executing the forward pass through the neural network, and generating the final prediction results. It also handles specific aspects like processing different allele types and, if configured, compiling attention weights for interpretability.
Related Classes/Methods:
Defines the neural network architectures used for prediction. This includes the specific layers, attention mechanisms (e.g., DeConvolutionalAttention), and overall model structure that the Predictor will instantiate and use.
Related Classes/Methods:
Manages the preparation of raw input data into the correct format required by the model and creates DataLoader instances for efficient batch processing during inference. It ensures data integrity and optimal delivery to the model.
Related Classes/Methods:
A collection of reusable helper functions and constants that support various operations across the project. This includes tasks like configuration parsing, data transformations, and general computations that are leveraged by other components.
Related Classes/Methods:
Provides a centralized mechanism for recording events, progress, warnings, and errors during the prediction process. It is crucial for monitoring the system's behavior, debugging issues, and ensuring traceability.
Related Classes/Methods: