README.md 4.1 KB
Newer Older
D
dengkaipeng 已提交
1 2

## 简介
S
SunGaofeng 已提交
3
本教程期望给开发者提供基于PaddlePaddle的便捷、高效的使用深度学习算法解决视频理解、视频编辑、视频生成等一系列模型。目前包含视频分类模型,后续会不断的扩展到其他更多场景。
D
dengkaipeng 已提交
4

D
dengkaipeng 已提交
5
目前视频分类模型包括:
D
dengkaipeng 已提交
6 7

| 模型 | 类别  | 描述 |
D
dengkaipeng 已提交
8
| :--------------- | :--------: | :------------: |
D
dengkaipeng 已提交
9
| [Attention Cluster](./models/attention_cluster/README.md) [[论文](https://arxiv.org/abs/1711.09550)] | 视频分类| CVPR'18提出的视频多模态特征注意力聚簇融合方法 |
D
dengkaipeng 已提交
10 11 12 13
| [Attention LSTM](./models/attention_lstm/README.md) [[论文](https://arxiv.org/abs/1503.08909)] | 视频分类| 常用模型,速度快精度高 |
| [NeXtVLAD](./models/nextvlad/README.md) [[论文](https://arxiv.org/abs/1811.05014)] | 视频分类| 2nd-Youtube-8M最优单模型 |
| [StNet](./models/stnet/README.md) [[论文](https://arxiv.org/abs/1811.01549)] | 视频分类| AAAI'19提出的视频联合时空建模方法 |
| [TSN](./models/tsn/README.md) [[论文](https://arxiv.org/abs/1608.00859)] | 视频分类| ECCV'16提出的基于2D-CNN经典解决方案 |
D
dengkaipeng 已提交
14

S
SunGaofeng 已提交
15 16 17 18 19 20
## 主要特点

- 包含视频分类方向的多个主流领先模型,其中Attention LSTM,Attention Cluster和NeXtVLAD是比较流行的特征序列模型,TSN和StNet是两个End-to-End的视频分类模型。Attention LSTM模型速度快精度高,TSN是基于2D-CNN的经典解决方案,NeXtVLAD是2nd-Youtube-8M比赛中最好的单模型。Attention Cluster和StNet是百度自研模型,分别发表于CVPR2018和AAAI2019,是Kinetics600比赛第一名中使用到的模型。

- 提供了适合视频分类任务的通用骨架代码,用户可一键式高效配置模型完成训练和评测。

D
dengkaipeng 已提交
21 22 23
## 安装

在当前模型库运行样例代码需要PadddlePaddle Fluid v.1.2.0或以上的版本。如果你的运行环境中的PaddlePaddle低于此版本,请根据[安装文档](http://www.paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/install/index_cn.html)中的说明来更新PaddlePaddle。
D
dengkaipeng 已提交
24 25 26

## 数据准备

D
dengkaipeng 已提交
27
视频模型库使用Youtube-8M和Kinetics数据集, 具体使用方法请参考[数据说明](./dataset/README.md)
D
dengkaipeng 已提交
28

D
dengkaipeng 已提交
29
## 快速使用
D
dengkaipeng 已提交
30 31 32

视频模型库提供通用的train/test/infer框架,通过`train.py/test.py/infer.py`指定模型名、模型配置参数等可一键式进行训练和预测。

D
dengkaipeng 已提交
33
以StNet模型为例:
D
dengkaipeng 已提交
34 35 36 37 38

单卡训练:

``` bash
export CUDA_VISIBLE_DEVICES=0
D
dengkaipeng 已提交
39 40
python train.py --model-name=STNET
        --config=./configs/stnet.txt
D
dengkaipeng 已提交
41 42 43 44 45 46 47
        --save-dir=checkpoints
```

多卡训练:

``` bash
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
D
dengkaipeng 已提交
48 49
python train.py --model-name=STNET
        --config=./configs/stnet.txt
D
dengkaipeng 已提交
50 51 52
        --save-dir=checkpoints
```

D
dengkaipeng 已提交
53
视频模型库同时提供了快速训练脚本,脚本位于`scripts/train`目录下,可通过如下命令启动训练:
D
dengkaipeng 已提交
54 55

``` bash
D
dengkaipeng 已提交
56
bash scripts/train/train_stnet.sh
D
dengkaipeng 已提交
57 58 59
```

- 请根据`CUDA_VISIBLE_DEVICES`指定卡数修改`config`文件中的`num_gpus``batch_size`配置。
D
dengkaipeng 已提交
60

D
dengkaipeng 已提交
61
## Model Zoo
D
dengkaipeng 已提交
62

D
dengkaipeng 已提交
63
- 基于Youtube-8M数据集模型:
D
dengkaipeng 已提交
64

D
dengkaipeng 已提交
65 66 67 68 69
| 模型 | Batch Size | 环境配置 | cuDNN版本 | GAP | 下载链接 |
| :-------: | :---: | :---------: | :-----: | :----: | :----------: |
| Attention Cluster | 2048 | 8卡P40 | 7.1 | 0.84 | [model](https://paddlemodels.bj.bcebos.com/video_classification/attention_cluster_youtube8m.tar.gz) |
| Attention LSTM | 1024 | 8卡P40 | 7.1 | 0.86 | [model](https://paddlemodels.bj.bcebos.com/video_classification/attention_lstm_youtube8m.tar.gz) |
| NeXtVLAD | 160 | 4卡P40 | 7.1 | 0.87 | [model](https://paddlemodels.bj.bcebos.com/video_classification/nextvlad_youtube8m.tar.gz) |
D
dengkaipeng 已提交
70

D
dengkaipeng 已提交
71
- 基于Kinetics数据集模型:
D
dengkaipeng 已提交
72 73 74 75

| 模型 | Batch Size | 环境配置 | cuDNN版本 | Top-1 | 下载链接 |
| :-------: | :---: | :---------: | :----: | :----: | :----------: |
| StNet | 128 | 8卡P40 | 5.1 | 0.69 | [model](https://paddlemodels.bj.bcebos.com/video_classification/stnet_kinetics.tar.gz) |
D
dengkaipeng 已提交
76
| TSN | 256 | 8卡P40 | 7.1 | 0.67 | [model](https://paddlemodels.bj.bcebos.com/video_classification/tsn_kinetics.tar.gz) |
D
dengkaipeng 已提交
77 78

## 版本更新
D
dengkaipeng 已提交
79

D
dengkaipeng 已提交
80
- 3/2019: 新增模型库,发布Attention Cluster,Attention LSTM,NeXtVLAD,StNet,TSN五个视频分类模型。
81