提交 fc03d622 编写于 作者: S SunGaofeng

modify some words

上级 04918c45
......@@ -7,7 +7,7 @@
在当前模型库运行样例代码需要PadddlePaddle Fluid v.1.2.0或以上的版本。如果你的运行环境中的PaddlePaddle低于此版本,请根据[安装文档](http://www.paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/install/index_cn.html)中的说明来更新PaddlePaddle。
## 简介
本教程期望给开发者提供基于PaddlePaddle的便捷、高效的使用深度学习算法解决视频理解、视频编辑、视频生成等一系列模型。目前我们包含视频分类模型,后续我们会不断的扩展到其他更多场景。
本教程期望给开发者提供基于PaddlePaddle的便捷、高效的使用深度学习算法解决视频理解、视频编辑、视频生成等一系列模型。目前包含视频分类模型,后续会不断的扩展到其他更多场景。
目前视频分类模型包括:
......
......@@ -4,11 +4,11 @@
- [Kinetics](#Kinetics数据集)
## Youtube-8M数据集
这里我们用到的是YouTube-8M 2018年更新之后的数据集。使用官方数据集,并将tfrecord文件转化为pickle文件以便paddle使用。Youtube-8M数据集官方提供了frame-level和video-level的特征,我们这里只需使用到frame-level的特征。
这里用到的是YouTube-8M 2018年更新之后的数据集。使用官方数据集,并将TFRecord文件转化为pickle文件以便PaddlePaddle使用。Youtube-8M数据集官方提供了frame-level和video-level的特征,这里只需使用到frame-level的特征。
### 数据下载
请使用Youtube-8M官方链接分别下载[训练集](http://us.data.yt8m.org/2/frame/train/index.html)[验证集](http://us.data.yt8m.org/2/frame/validate/index.html)。每个链接里各提供了3844个文件的下载地址,用户也可以使用官方提供的[下载脚本](https://research.google.com/youtube8m/download.html)下载数据。数据下载完成后,将会得到3844个训练数据文件和3844个验证数据文件(tfrecord格式)。
假设存放视频模型代码库的主目录为: Code\_Base\_Root,进入dataset/youtube8m目录
请使用Youtube-8M官方链接分别下载[训练集](http://us.data.yt8m.org/2/frame/train/index.html)[验证集](http://us.data.yt8m.org/2/frame/validate/index.html)。每个链接里各提供了3844个文件的下载地址,用户也可以使用官方提供的[下载脚本](https://research.google.com/youtube8m/download.html)下载数据。数据下载完成后,将会得到3844个训练数据文件和3844个验证数据文件(TFRecord格式)。
假设存放视频模型代码库的主目录为: Code\_Root,进入dataset/youtube8m目录
cd dataset/youtube8m
......@@ -22,7 +22,7 @@
### 数据格式转化
为了适用于Fluid训练,我们离线将下载好的tfrecord文件格式转成了pickle格式,转换脚本请使用[dataset/youtube8m/tf2pkl.py](./youtube8m/tf2pkl.py)
为了适用于PaddlePaddle训练,需要离线将下载好的TFRecord文件格式转成了pickle格式,转换脚本请使用[dataset/youtube8m/tf2pkl.py](./youtube8m/tf2pkl.py)
在dataset/youtube8m 目录下新建目录pkl/train和pkl/val
......@@ -33,7 +33,7 @@
mkdir train && mkdir val
转化文件格式(tfrecord -> pkl),进入dataset/youtube8m目录,运行脚本
转化文件格式(TFRecord -> pkl),进入dataset/youtube8m目录,运行脚本
python tf2pkl.py ./tf/train ./pkl/train
......@@ -43,26 +43,26 @@
分别将train和validate数据集转化为pkl文件。tf2pkl.py文件运行时需要两个参数,分别是数据源tf文件存放路径和转化后的pkl文件存放路径。
备注:由于tfrecord文件的读取需要用到tensorflow,用户要先安装tensorflow,或者在安装有tensorflow的环境中转化完数据,再拷贝到dataset/youtube8m/pkl目录下。为了避免和paddle环境冲突,我们建议先在其他地方转化完成再将数据拷贝过来。
备注:由于TFRecord文件的读取需要用到Tensorflow,用户要先安装Tensorflow,或者在安装有Tensorflow的环境中转化完数据,再拷贝到dataset/youtube8m/pkl目录下。为了避免和PaddlePaddle环境冲突,建议先在其他地方转化完成再将数据拷贝过来。
### 生成文件列表
进入dataset/youtube8m目录
ls $Code_Base_Root/dataset/youtube8m/pkl/train/* > train.list
ls $Code_Root/dataset/youtube8m/pkl/train/* > train.list
ls $Code_Base_Root/dataset/youtube8m/pkl/val/* > val.list
ls $Code_Root/dataset/youtube8m/pkl/val/* > val.list
在dataset/youtube8m目录下将生成两个文件,train.list和val.list,每一行分别保存了一个pkl文件的绝对路径。
## Kinetics数据集
Kinetics数据集是DeepMind公开的大规模视频动作识别数据集,有Kinetics400与Kinetics600两个版本。这里我们使用Kinetics400数据集,具体的数据预处理过程如下。
Kinetics数据集是DeepMind公开的大规模视频动作识别数据集,有Kinetics400与Kinetics600两个版本。这里使用Kinetics400数据集,具体的数据预处理过程如下。
### mp4视频下载
在Code\_Base\_Root目录下创建文件夹
在Code\_Root目录下创建文件夹
cd $Code_Base_Root/dataset && mkdir kinetics
cd $Code_Root/dataset && mkdir kinetics
cd kinetics && mkdir data_k400 && cd data_k400
......@@ -72,15 +72,15 @@ ActivityNet官方提供了Kinetics的下载工具,具体参考其[官方repo ]
### mp4文件预处理
为提高数据读取速度,我们提前将mp4文件解帧并打pickle包,dataloader从视频的pkl文件中读取数据(该方法耗费更多存储空间)。pkl文件里打包的内容为(video-id,[frame1, frame2,...,frameN],label)。
为提高数据读取速度,提前将mp4文件解帧并打pickle包,dataloader从视频的pkl文件中读取数据(该方法耗费更多存储空间)。pkl文件里打包的内容为(video-id,[frame1, frame2,...,frameN],label)。
在 dataset/kinetics/data\_k400目录下创建目录train\_pkl和val\_pkl
cd $Code_Base_Root/dataset/kinetics/data_k400
cd $Code_Root/dataset/kinetics/data_k400
mkdir train_pkl && mkdir val_pkl
进入$Code\_Base\_Root/dataset/kinetics目录,使用video2pkl.py脚本进行数据转化。首先需要下载[train](https://github.com/activitynet/ActivityNet/tree/master/Crawler/Kinetics/data/kinetics-400_train.csv)[validation](https://github.com/activitynet/ActivityNet/tree/master/Crawler/Kinetics/data/kinetics-400_val.csv)数据集的文件列表。
进入$Code\_Root/dataset/kinetics目录,使用video2pkl.py脚本进行数据转化。首先需要下载[train](https://github.com/activitynet/ActivityNet/tree/master/Crawler/Kinetics/data/kinetics-400_train.csv)[validation](https://github.com/activitynet/ActivityNet/tree/master/Crawler/Kinetics/data/kinetics-400_val.csv)数据集的文件列表。
首先生成预处理需要的数据集标签文件
......@@ -94,25 +94,25 @@ ActivityNet官方提供了Kinetics的下载工具,具体参考其[官方repo ]
对于train数据,
Source_dir = $Code_Base_Root/dataset/kinetics/data_k400/train_mp4
Source_dir = $Code_Root/dataset/kinetics/data_k400/train_mp4
Target_dir = $Code_Base_Root/dataset/kinetics/data_k400/train_pkl
Target_dir = $Code_Root/dataset/kinetics/data_k400/train_pkl
对于val数据,
Source_dir = $Code_Base_Root/dataset/kinetics/data_k400/val_mp4
Source_dir = $Code_Root/dataset/kinetics/data_k400/val_mp4
Target_dir = $Code_Base_Root/dataset/kinetics/data_k400/val_pkl
Target_dir = $Code_Root/dataset/kinetics/data_k400/val_pkl
这样即可将mp4文件解码并保存为pkl文件。
### 生成训练和验证集list
cd $Code_Base_Root/dataset/kinetics
cd $Code_Root/dataset/kinetics
ls $Code_Base_Root/dataset/kinetics/data_k400/train_pkl /* > train.list
ls $Code_Root/dataset/kinetics/data_k400/train_pkl /* > train.list
ls $Code_Base_Root/dataset/kinetics/data_k400/val_pkl /* > val.list
ls $Code_Root/dataset/kinetics/data_k400/val_pkl /* > val.list
即可生成相应的文件列表,train.list和val.list的每一行表示一个pkl文件的绝对路径。
......
......@@ -37,7 +37,7 @@ AttentionLSTM模型使用2nd-Youtube-8M数据集,关于数据部分请参考[
- AttentionLSTM模型使用8卡Nvidia Tesla P40来训练的,总的batch size数是1024。
### 使用预训练模型做finetune
请先将我们提供的[model](https://paddlemodels.bj.bcebos.com/video_classification/attention_lstm_youtube8m.tar.gz)下载到本地,并在上述脚本文件中添加`--resume`为所保存的预模型存放路径。
请先将提供的[model](https://paddlemodels.bj.bcebos.com/video_classification/attention_lstm_youtube8m.tar.gz)下载到本地,并在上述脚本文件中添加`--resume`为所保存的预模型存放路径。
## 模型评估
可通过如下两种方式进行模型评估:
......
......@@ -50,11 +50,11 @@ StNet的训练数据采用由DeepMind公布的Kinetics-400动作识别数据集
**备注:**
* 我们在训练stNet模型时使用fluid 1.3 + cudnn5.1。使用cudnn7.0以上版本时batchnorm计算moving mean和moving average会出现异常,此问题还在修复中。建议用户安装paddlepaddle时指定cudnn版本,
* 在训练StNet模型时使用PaddlePaddle Fluid 1.3 + cudnn5.1。使用cudnn7.0以上版本时batchnorm计算moving mean和moving average会出现异常,此问题还在修复中。建议用户安装PaddlePaddle时指定cudnn版本,
pip install paddlepaddle\_gpu==1.3.0.post85
或者在paddpaddle的whl包[下载页面](http://paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/install/Tables.html/#permalink-4--whl-release)选择下载cuda8.0\_cudnn5\_avx\_mkl对应的whl包安装。
或者在PaddlePaddle的whl包[下载页面](http://paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/install/Tables.html/#permalink-4--whl-release)选择下载cuda8.0\_cudnn5\_avx\_mkl对应的whl包安装。
关于安装PaddlePaddle的详细操作请参考[安装文档](http://www.paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/install/index_cn.html)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册