提交 5fc538d5 编写于 作者: H huangjun12

refine README and details of bmn model

上级 ed3c3599
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
## 内容 ## 内容
- [模型简介](#模型简介) - [模型简介](#模型简介)
- [代码结构](#代码结构) - [代码获取](#代码获取)
- [数据准备](#数据准备) - [数据准备](#数据准备)
- [模型训练](#模型训练) - [模型训练](#模型训练)
- [模型评估](#模型评估) - [模型评估](#模型评估)
...@@ -22,7 +22,21 @@ BMN Overview ...@@ -22,7 +22,21 @@ BMN Overview
</p> </p>
## 代码结构 ## 代码获取
### 代码下载及环境变量设置
克隆代码库到本地,并设置`PYTHONPATH`环境变量
```bash
git clone https://github.com/PaddlePaddle/hapi
cd hapi
export PYTHONPATH=`pwd`:$PYTHONPATH
cd examples/bmn
```
### 代码结构
``` ```
├── bmn.yaml # 网络配置文件,快速配置参数 ├── bmn.yaml # 网络配置文件,快速配置参数
├── run.sh # 快速运行脚本,可直接开始多卡训练 ├── run.sh # 快速运行脚本,可直接开始多卡训练
...@@ -74,6 +88,8 @@ BMN的训练数据采用ActivityNet1.3提供的数据集,我们提供了处理 ...@@ -74,6 +88,8 @@ BMN的训练数据采用ActivityNet1.3提供的数据集,我们提供了处理
- 上述程序会将运行结果保存在`--output_path`参数指定的文件夹下,默认为output/EVAL/BMN\_results;测试结果保存在`--result_path`参数指定的文件夹下,默认为evaluate\_results。 - 上述程序会将运行结果保存在`--output_path`参数指定的文件夹下,默认为output/EVAL/BMN\_results;测试结果保存在`--result_path`参数指定的文件夹下,默认为evaluate\_results。
- 暂不支持多卡评估。
- 注:评估时可能会出现loss为nan的情况。这是由于评估时用的是单个样本,可能存在没有iou>0.6的样本,所以为nan,对最终的评估结果没有影响。 - 注:评估时可能会出现loss为nan的情况。这是由于评估时用的是单个样本,可能存在没有iou>0.6的样本,所以为nan,对最终的评估结果没有影响。
...@@ -108,6 +124,8 @@ BMN的训练数据采用ActivityNet1.3提供的数据集,我们提供了处理 ...@@ -108,6 +124,8 @@ BMN的训练数据采用ActivityNet1.3提供的数据集,我们提供了处理
- 上述程序会将运行结果保存在`--output_path`参数指定的文件夹下,默认为output/INFER/BMN\_results;测试结果保存在`--result_path`参数指定的文件夹下,默认为predict\_results。 - 上述程序会将运行结果保存在`--output_path`参数指定的文件夹下,默认为output/INFER/BMN\_results;测试结果保存在`--result_path`参数指定的文件夹下,默认为predict\_results。
- 暂不支持多卡预测。
## 参考论文 ## 参考论文
......
...@@ -15,7 +15,6 @@ TRAIN: ...@@ -15,7 +15,6 @@ TRAIN:
batch_size: 4 batch_size: 4
num_workers: 4 num_workers: 4
use_shuffle: True use_shuffle: True
device: "gpu"
learning_rate: 0.001 learning_rate: 0.001
learning_rate_decay: 0.1 learning_rate_decay: 0.1
lr_decay_iter: 4200 lr_decay_iter: 4200
...@@ -28,14 +27,14 @@ TEST: ...@@ -28,14 +27,14 @@ TEST:
subset: "validation" subset: "validation"
batch_size: 1 batch_size: 1
num_workers: 1 num_workers: 1
output_path: "output/EVAL/BMN_results" output_path: "./output/EVAL/BMN_results"
result_path: "evaluate_results" result_path: "./evaluate_results"
INFER: INFER:
subset: "test" subset: "test"
batch_size: 1 batch_size: 1
num_workers: 1 num_workers: 1
filelist: './infer.list' filelist: './infer.list'
output_path: "output/INFER/BMN_results" output_path: "./output/INFER/BMN_results"
result_path: "predict_results" result_path: "./predict_results"
...@@ -54,18 +54,18 @@ def parse_args(): ...@@ -54,18 +54,18 @@ def parse_args():
'--weights', '--weights',
type=str, type=str,
default=None, default=None,
help='weight path, None to automatically download weights provided by Paddle.' help='weight path. None to automatically download weights provided by Paddle.'
) )
parser.add_argument( parser.add_argument(
'--output_path', '--output_path',
type=str, type=str,
default="output/EVAL/BMN_results", default=None,
help='output dir path, default to use output/EVAL/BMN_results') help='output dir path. None to use config file setting.')
parser.add_argument( parser.add_argument(
'--result_path', '--result_path',
type=str, type=str,
default="evaluate_results/", default=None,
help='output dir path after post processing, default to use ./evaluate_results/' help='output dir path after post processing. None to use config file setting.'
) )
parser.add_argument( parser.add_argument(
'--log_interval', '--log_interval',
......
...@@ -46,7 +46,10 @@ def parse_args(): ...@@ -46,7 +46,10 @@ def parse_args():
default='bmn.yaml', default='bmn.yaml',
help='path to config file of model') help='path to config file of model')
parser.add_argument( parser.add_argument(
'--device', type=str, default='GPU', help='default use gpu.') '--device',
type=str,
default='gpu',
help='gpu or cpu, default use gpu.')
parser.add_argument( parser.add_argument(
'--weights', '--weights',
type=str, type=str,
...@@ -56,18 +59,18 @@ def parse_args(): ...@@ -56,18 +59,18 @@ def parse_args():
parser.add_argument( parser.add_argument(
'--filelist', '--filelist',
type=str, type=str,
default="infer.list", default=None,
help='infer file list, default to use ./infer.list') help='infer file list, None to use config file setting.')
parser.add_argument( parser.add_argument(
'--output_path', '--output_path',
type=str, type=str,
default="output/INFER/BMN_results", default=None,
help='output dir path, default to use output/INFER/BMN_results') help='output dir path, None to use config file setting.')
parser.add_argument( parser.add_argument(
'--result_path', '--result_path',
type=str, type=str,
default="predict_results/", default=None,
help='output dir path after post processing, default to use ./predict_results/' help='output dir path after post processing, None to use config file setting.'
) )
parser.add_argument( parser.add_argument(
'--log_interval', '--log_interval',
......
...@@ -49,7 +49,7 @@ def parse_args(): ...@@ -49,7 +49,7 @@ def parse_args():
parser.add_argument( parser.add_argument(
'--learning_rate', '--learning_rate',
type=float, type=float,
default=0.001, default=None,
help='learning rate use for training. None to use config file setting.') help='learning rate use for training. None to use config file setting.')
parser.add_argument( parser.add_argument(
'--resume', '--resume',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册