VAD-Net is a Valence-Arousal-Dominance regression project for facial-expression datasets. It includes data preparation, model training, evaluation, log analysis, and plotting tools.
- Install the pinned dependencies:
python -m pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu124- Prepare the auxiliary derived CSVs and splits:
python prepare_data.py- Train a single model:
python train.py --model resnet18 --seed 42 --output_dir runs/MyRun- Train all supported model/dataset combinations:
python train_all.py --datasets all --models resnet18,resnet50,efficientnet,mobilefacenet --seed 42 --only-missing- Evaluate a checkpoint:
python evaluate.py --model runs/MyRun/best_model_state.pth --cuda- Evaluate every saved run under
runs/:
python evaluate_all.py --runs-root runs --output-root evaluationsThe batch evaluator also writes evaluations/all_loss_curves.png with the training and public_loss curves for every run that has a log.csv file.
Each evaluated run also gets its own evaluations/<run_name>/loss_curves.png plot.
- Inspect or plot training logs:
python analyze_training.py --mode display runs/MyRun/train_log.csv
python analyze_training.py --mode plot runs/MyRun/train_log.csvsrc/data/: dataset preparation and preprocessingsrc/training/: training scripts and batch launcherssrc/evaluation/: evaluation, plotting, and training-log analysissrc/utils/: shared dataset and utility modulesdocs/: licensing, reproducibility, and evaluation notes
The project is designed around fixed seeds, explicit output folders, and stable CSV inputs. See docs/REPRODUCIBILITY.md for the canonical commands, seed handling, and output layout. For the dataset-level normalization constants used by the loader and inference code, see docs/NORMALIZATION_STATS.md.
Repository code is MIT-licensed. The datasets and pretrained model weights used by the project have their own terms and must be handled separately.
Verified notes:
- FER2013: DbCL / Open Database Contents style terms
- Balanced Caer-S: ODbL 1.0
- Emotic: open source, but citation is required
- ResNet18 pretrained weights: CC0 Public Domain
- ResNet50 pretrained weights: CC0 Public Domain
- MobileFaceNet: Apache 2.0 upstream license
- EfficientNet: preserve the upstream LICENSE from the source repository
Full details are documented in:
- Publish code, configs, metrics, and documentation.
- Do not publish raw third-party images, annotations, or merged row-level CSV datasets unless the source terms clearly allow it.
- Treat checkpoints as constrained by the strictest applicable dataset and upstream model terms.
- Include required citations, attribution, and notice text where applicable.