Skip to content

Latest commit

 

History

History
89 lines (48 loc) · 4.5 KB

File metadata and controls

89 lines (48 loc) · 4.5 KB
graph LR
    Accuracy_Predictor["Accuracy Predictor"]
    Architecture_Encoder["Architecture Encoder"]
    Accuracy_Dataset_Manager["Accuracy Dataset Manager"]
    Efficiency_Predictor["Efficiency Predictor"]
    Latency_Lookup_Table["Latency Lookup Table"]
    PyTorch_Utilities["PyTorch Utilities"]
    FLOPs_Counter["FLOPs Counter"]
    Architecture_Encoder -- "provides data to" --> Accuracy_Predictor
    Accuracy_Dataset_Manager -- "provides data to" --> Accuracy_Predictor
    Efficiency_Predictor -- "queries" --> Latency_Lookup_Table
    Latency_Lookup_Table -- "provides data to" --> Efficiency_Predictor
    PyTorch_Utilities -- "populates" --> Latency_Lookup_Table
    PyTorch_Utilities -- "utilizes" --> FLOPs_Counter
Loading

CodeBoardingDemoContact

Details

The Performance Predictors subsystem is crucial for accelerating the Neural Architecture Search (NAS) process by providing rapid estimations of subnet performance without full training or deployment. It encompasses mechanisms for predicting accuracy, FLOPs, and hardware efficiency (latency).

Accuracy Predictor

Predicts the accuracy score of a given neural network architecture. This component is vital for filtering suboptimal architectures based on their expected performance.

Related Classes/Methods:

Architecture Encoder

Transforms symbolic neural network architectures into numerical feature vectors, making them suitable inputs for the Accuracy Predictor.

Related Classes/Methods:

Accuracy Dataset Manager

Manages and provides the dataset of architecture-accuracy pairs, which is essential for training and evaluating the Accuracy Predictor.

Related Classes/Methods:

Efficiency Predictor

Serves as the primary interface for querying the predicted hardware efficiency (latency) and computational cost (FLOPs) of a subnet configuration. It abstracts the underlying lookup mechanisms.

Related Classes/Methods:

Latency Lookup Table

Stores and provides pre-measured or calculated latency and FLOPs data for various network configurations and layers. It acts as a fast lookup mechanism to avoid re-computation.

Related Classes/Methods:

PyTorch Utilities

Provides fundamental PyTorch utilities for dynamically measuring network latency (measure_net_latency) and counting FLOPs (count_net_flops) of PyTorch models. These are foundational for populating efficiency data.

Related Classes/Methods:

FLOPs Counter

Provides the core logic for calculating floating-point operations for neural network layers and models. It ensures consistent and accurate computational cost estimation.

Related Classes/Methods: