Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 1.91 KB

File metadata and controls

65 lines (44 loc) · 1.91 KB

Predictor-Guided Neural Architecture Search for Cosmic Ray Classification

This repository contains the implementation for Neural Architecture Search (NAS) and Active Learning fine-tuning on Cosmic Ray imaging data using NAS-Bench-201.


1. Installation

Install the required Python packages:

pip install -r requirements.txt

Ensure the NATS-Bench benchmark data is extracted under data/NATS-tss-v1_0-3ffb9-simple.


2. Running Experiments

Step 1: Extract Architecture Data & Pre-weighted Metrics

Query pre-weighted architectures and rank NAS-Bench-201 benchmark scores:

python extract_data.py --mode lookup

Step 2: Train the Performance Predictor

Train and evaluate the Random Forest / XGBoost performance predictor:

python performance_predictor.py

Step 3: Run Active Learning & Evolutionary Search

Run the predictor-guided evolutionary architecture search with active learning fine-tuning:

python evolutionary_search.py

Step 4: Fine-Tune Specific Architectures on Cosmic Data (Optional)

Fine-tune selected architectures on the Cosmic dataset for 5 epochs:

python cosmic_dataset_finetune.py --arch_indices "13551,3782" --epochs 5 --preload

Step 5: Generate Visualizations & Statistical Analysis

Generate publication plots (Figures 1–3) and statistical reports:

python analyze_al_log.py

3. Project Structure

  • evolutionary_search.py – Evolutionary algorithm with active learning feedback loop.
  • performance_predictor.py – Random Forest & XGBoost predictor trained via Kendall-τ HPO.
  • cosmic_dataset_finetune.py – Fine-tunes PixelClassifier decoders on Cosmic Ray data.
  • cosmic_utils.py – Data loaders, metrics (AUROC/TPR/FNR), and model constructors.
  • analyze_al_log.py – Plotting script for search trajectories and correlation statistics.
  • extract_data.py – NATS-Bench benchmark query tool.