Video Swin Transformer PyTorch 项目教程
项目地址:https://gitcode.com/gh_mirrors/vi/video-swin-transformer-pytorch
1. 项目的目录结构及介绍
video-swin-transformer-pytorch/
├── README.md
├── requirements.txt
├── setup.py
├── config/
│ ├── default.yaml
│ └── ...
├── data/
│ └── ...
├── models/
│ ├── __init__.py
│ ├── swin_transformer.py
│ └── ...
├── scripts/
│ ├── train.py
│ ├── eval.py
│ └── ...
└── utils/
├── __init__.py
├── logger.py
└── ...
目录结构介绍
- README.md: 项目说明文档。
- requirements.txt: 项目依赖文件。
- setup.py: 项目安装脚本。
- config/: 配置文件目录,包含默认配置文件
default.yaml
等。 - data/: 数据文件目录,用于存放训练和测试数据。
- models/: 模型文件目录,包含
swin_transformer.py
等模型定义文件。 - scripts/: 脚本文件目录,包含训练脚本
train.py
和评估脚本eval.py
等。 - utils/: 工具文件目录,包含日志工具
logger.py
等。
2. 项目的启动文件介绍
训练脚本
python scripts/train.py
评估脚本
python scripts/eval.py
启动文件介绍
- train.py: 用于启动训练过程,读取配置文件并初始化模型、数据加载器等。
- eval.py: 用于启动评估过程,读取配置文件并加载预训练模型进行评估。
3. 项目的配置文件介绍
默认配置文件
# config/default.yaml
model:
name: 'SwinTransformer'
params:
patch_size: [4, 4, 4]
embed_dim: 96
depths: [2, 2, 6, 2]
num_heads: [3, 6, 12, 24]
window_size: [4, 4, 4]
mlp_ratio: 4.
qkv_bias: True
qk_scale: None
drop_rate: 0.
attn_drop_rate: 0.
drop_path_rate: 0.1
norm_layer: 'LayerNorm'
ape: False
patch_norm: True
use_checkpoint: False
data:
batch_size: 16
num_workers: 4
train_path: 'data/train'
val_path: 'data/val'
training:
epochs: 300
optimizer: 'AdamW'
lr: 0.0005
weight_decay: 0.05
scheduler: 'CosineAnnealingLR'
warmup_epochs: 20
warmup_lr: 0.00005
min_lr: 0.00001
print_freq: 10
save_freq: 10
output_dir: 'output'
配置文件介绍
- model: 定义模型的名称和参数,如
patch_size
,embed_dim
,depths
等。 - data: 定义数据加载的参数,如
batch_size
,num_workers
,train_path
,val_path
等。 - training: 定义训练过程的参数,如
epochs
,optimizer
,lr
,weight_decay
等。
通过修改 default.yaml
文件中的参数,可以调整模型的训练和评估过程。