长短时Transformer在在线动作检测中的应用指南
1. 目录结构及介绍
长短期Transformer(LSTM)官方实现项目遵循了清晰的目录组织原则,便于开发者快速定位所需组件:
./amazon-science/long-short-term-transformer
主项目根目录。configs
: 存放配置文件,定义模型参数、训练设置等。data
: 建议存放数据集的软链接,指向实际的数据路径。demo
: 示例代码或用于快速测试的部分。src
: 核心源代码,包括模型定义、主要处理逻辑等。tools
: 工具脚本,如训练、测试、评估程序。.gitignore
,CODE_OF_CONDUCT.md
,CONTRIBUTING.md
,LICENSE
,NOTICE
,README.md
,requirements.txt
: 项目管理文件,规定了行为准则、贡献指导、许可信息、通知事项以及必要的依赖库列表。
2. 项目启动文件介绍
项目的核心运行主要通过tools
目录下的脚本来驱动:
train_net.py
: 训练脚本,负责初始化模型,加载数据,并执行模型训练过程。支持从头开始训练和基于预训练模型进行微调。test_net.py
: 测试与推理脚本,提供了三种不同的在线推理模式——伴随训练的推断(SOLVER.PHASES="['train', 'test']"
), 批量模式和流模式,以适应不同场景的需求。
启动示例(训练新模型):
python tools/train_net.py --config_file $CONFIG_PATH --gpu $GPU_ID
启动示例(批量模式下进行在线推理):
python tools/test_net.py --config_file $CONFIG_PATH --gpu $GPU_ID \
MODEL.CHECKPOINT $CHECKPOINT_PATH MODEL.LSTR.INFERENCE_MODE batch
3. 项目配置文件介绍
配置文件通常位于configs
目录,每一份配置文件.yaml
定义了一个实验的具体设置,包括但不限于:
- 模型架构细节:如Transformer层的数量、隐藏维度等。
- 数据集路径:指定特征文件和目标标签的位置。
- 训练参数:学习率、批次大小、训练轮数等。
- 优化器设定:选用哪种优化算法,其参数配置。
- 记忆机制配置:长短时记忆的时间窗口长度。
- 评估策略:如何进行验证及测试。
示例配置文件可能包含以下关键字段(简化表示):
model:
type: LSTM
hidden_size: 512
solver:
base_lr: 0.001
epochs: 100
lstr:
mem_len_long_term: 512
mem_len_short_term: 8
dataset:
train_ann_file: path/to/train/annots
val_ann_file: path/to/val/annots
开发者需依据实验需求修改这些配置文件来调整实验的各个方面,确保所有路径正确无误且符合实际项目布局。