lab1-cvlface-code / README.md
lhx05's picture
Add Chinese README
a2f2478 verified
---
license: unknown
tags:
- face-recognition
- cvlface
- adaface
- swin-transformer
- lora
- pytorch
pretty_name: Lab1 CVLFace Code
---
# Lab1 CVLFace Code
本仓库用于备份 Lab1 人脸识别实验中使用的 CVLFace 代码和训练脚本。
代码来自服务器实验目录:
```text
/root/Lab1/project/cvlface
```
上传时已经排除数据集、实验输出、缓存和大模型权重。模型权重请放在独立的 checkpoint 仓库中管理。
## 主要内容
```text
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.json`
- `epoch_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 放在:
```text
lhx05/lab1-face-recognition-checkpoints
```
本代码仓库不上传 `.pt``.pth``.safetensors` 等大权重文件。
## 示例命令
全量微调示例:
```bash
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 示例:
```bash
python train_plan4_adaface_swin.py \
--config configs/agedb567_lora_r4_fgnet_age30.yaml
```
## 注意事项
- 代码中的绝对路径来自服务器实验环境,换机器使用时需要按本地目录调整。
- 上传版本主要用于备份和复现实验,不保证是原始 CVLFace 官方仓库的完整发布版本。
- 如果只需要运行当前实验,优先查看 `research/recognition/code/run_v1/scripts/` 目录。