lhx05 commited on
Commit
a2f2478
·
verified ·
1 Parent(s): eeabd51

Add Chinese README

Browse files
Files changed (1) hide show
  1. README.md +116 -0
README.md ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: unknown
3
+ tags:
4
+ - face-recognition
5
+ - cvlface
6
+ - adaface
7
+ - swin-transformer
8
+ - lora
9
+ - pytorch
10
+ pretty_name: Lab1 CVLFace Code
11
+ ---
12
+
13
+ # Lab1 CVLFace Code
14
+
15
+ 本仓库用于备份 Lab1 人脸识别实验中使用的 CVLFace 代码和训练脚本。
16
+
17
+ 代码来自服务器实验目录:
18
+
19
+ ```text
20
+ /root/Lab1/project/cvlface
21
+ ```
22
+
23
+ 上传时已经排除数据集、实验输出、缓存和大模型权重。模型权重请放在独立的 checkpoint 仓库中管理。
24
+
25
+ ## 主要内容
26
+
27
+ ```text
28
+ cvlface/
29
+ research/
30
+ recognition/
31
+ code/
32
+ run_v1/
33
+ scripts/
34
+ train_plan4_adaface_swin.py
35
+ prepare_kaggle_verification_protocol.py
36
+ generate_plan8_report.py
37
+ configs/
38
+ *.yaml
39
+ test_*.py
40
+ ```
41
+
42
+ 其中 `train_plan4_adaface_swin.py` 是当前主要训练脚本。
43
+
44
+ ## 当前训练脚本支持的功能
45
+
46
+ - Swin-S 224 backbone + AdaFace 分类头训练。
47
+ - 全量微调 backbone。
48
+ - 冻结 backbone 后只训练分类头。
49
+ - LoRA 微调:
50
+ - `--use-lora`
51
+ - `--lora-rank`
52
+ - `--lora-alpha`
53
+ - `--lora-dropout`
54
+ - `--lora-target-modules`
55
+ - eval-only 验证模式:
56
+ - `--eval-only`
57
+ - `--eval-checkpoint`
58
+ - `--eval-pairs-csv`
59
+ - YAML config:
60
+ - `--config configs/xxx.yaml`
61
+ - 命令行参数会覆盖 config 中的默认值。
62
+ - epoch 级日志:
63
+ - `training_config.json`
64
+ - `epoch_metrics.csv`
65
+ - 每个 epoch 记录 loss。
66
+ - 可按固定 epoch 间隔记录验证集 acc。
67
+
68
+ ## 相关数据仓库
69
+
70
+ 本代码仓库不包含数据集。当前项目中用到的数据备份在以下仓库:
71
+
72
+ - WebFace224 完整训练集:`lhx05/WebFace224`
73
+ - 多协议 224 验证集:`lhx05/lab1-resized-face-datasets`
74
+ - FGNET AGE-30 验证协议:`lhx05/fgnet-age30-protocol`
75
+ - AgeDB 224 身份分类数据集:`lhx05/agedb-224-by-identity`
76
+
77
+ ## 相关权重仓库
78
+
79
+ 模型权重和训练 checkpoint 放在:
80
+
81
+ ```text
82
+ lhx05/lab1-face-recognition-checkpoints
83
+ ```
84
+
85
+ 本代码仓库不上传 `.pt`、`.pth`、`.safetensors` 等大权重文件。
86
+
87
+ ## 示例命令
88
+
89
+ 全量微调示例:
90
+
91
+ ```bash
92
+ cd /root/Lab1/project/cvlface/research/recognition/code/run_v1/scripts
93
+ source /root/Lab1/venv/bin/activate
94
+
95
+ python train_plan4_adaface_swin.py \
96
+ --train-root /root/Lab1/data/processed/agedb_harmonliu05_224_by_identity \
97
+ --output-dir /root/Lab1/experiments/agedb567_full_finetune_20epoch \
98
+ --ckpt /root/Lab1/project/cvlface/pretrained_models/model.safetensors \
99
+ --epochs 20 \
100
+ --batch-size 128 \
101
+ --eval-every-epochs 5 \
102
+ --eval-pairs-csv /root/Lab1/data/processed/fgnet_age30_protocol/facerec_val/fgnet_age30/pairs.csv
103
+ ```
104
+
105
+ 使用 YAML config 示例:
106
+
107
+ ```bash
108
+ python train_plan4_adaface_swin.py \
109
+ --config configs/agedb567_lora_r4_fgnet_age30.yaml
110
+ ```
111
+
112
+ ## 注意事项
113
+
114
+ - 代码中的绝对路径来自服务器实验环境,换机器使用时需要按本地目录调整。
115
+ - 上传版本主要用于备份和复现实验,不保证是原始 CVLFace 官方仓库的完整发布版本。
116
+ - 如果只需要运行当前实验,优先查看 `research/recognition/code/run_v1/scripts/` 目录。