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
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).
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:
Transforms symbolic neural network architectures into numerical feature vectors, making them suitable inputs for the Accuracy Predictor.
Related Classes/Methods:
Manages and provides the dataset of architecture-accuracy pairs, which is essential for training and evaluating the Accuracy Predictor.
Related Classes/Methods:
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:
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:
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:
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: