Lab1 CVLFace Code
本仓库用于备份 Lab1 人脸识别实验中使用的 CVLFace 代码和训练脚本。
代码来自服务器实验目录:
/root/Lab1/project/cvlface
上传时已经排除数据集、实验输出、缓存和大模型权重。模型权重请放在独立的 checkpoint 仓库中管理。
主要内容
cvlface/
research/
recognition/
code/
run_v1/
scripts/
train_plan4_adaface_swin.py
prepare_kaggle_verification_protocol.py
generate_plan8_report.py
configs/
*.yaml
test_*.py
其中 train_plan4_adaface_swin.py 是当前主要训练脚本。
当前训练脚本支持的功能
- Swin-S 224 backbone + AdaFace 分类头训练。
- 全量微调 backbone。
- 冻结 backbone 后只训练分类头。
- LoRA 微调:
--use-lora--lora-rank--lora-alpha--lora-dropout--lora-target-modules
- eval-only 验证模式:
--eval-only--eval-checkpoint--eval-pairs-csv
- YAML config:
--config configs/xxx.yaml- 命令行参数会覆盖 config 中的默认值。
- epoch 级日志:
training_config.jsonepoch_metrics.csv- 每个 epoch 记录 loss。
- 可按固定 epoch 间隔记录验证集 acc。
相关数据仓库
本代码仓库不包含数据集。当前项目中用到的数据备份在以下仓库:
- WebFace224 完整训练集:
lhx05/WebFace224 - 多协议 224 验证集:
lhx05/lab1-resized-face-datasets - FGNET AGE-30 验证协议:
lhx05/fgnet-age30-protocol - AgeDB 224 身份分类数据集:
lhx05/agedb-224-by-identity
相关权重仓库
模型权重和训练 checkpoint 放在:
lhx05/lab1-face-recognition-checkpoints
本代码仓库不上传 .pt、.pth、.safetensors 等大权重文件。
示例命令
全量微调示例:
cd /root/Lab1/project/cvlface/research/recognition/code/run_v1/scripts
source /root/Lab1/venv/bin/activate
python train_plan4_adaface_swin.py \
--train-root /root/Lab1/data/processed/agedb_harmonliu05_224_by_identity \
--output-dir /root/Lab1/experiments/agedb567_full_finetune_20epoch \
--ckpt /root/Lab1/project/cvlface/pretrained_models/model.safetensors \
--epochs 20 \
--batch-size 128 \
--eval-every-epochs 5 \
--eval-pairs-csv /root/Lab1/data/processed/fgnet_age30_protocol/facerec_val/fgnet_age30/pairs.csv
使用 YAML config 示例:
python train_plan4_adaface_swin.py \
--config configs/agedb567_lora_r4_fgnet_age30.yaml
注意事项
- 代码中的绝对路径来自服务器实验环境,换机器使用时需要按本地目录调整。
- 上传版本主要用于备份和复现实验,不保证是原始 CVLFace 官方仓库的完整发布版本。
- 如果只需要运行当前实验,优先查看
research/recognition/code/run_v1/scripts/目录。
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support