From 6d626fa7c7a775da2e4887184e3ac1a7ef618349 Mon Sep 17 00:00:00 2001 From: wangna11BD <79366697+wangna11BD@users.noreply.github.com> Date: Wed, 29 Sep 2021 18:55:14 +0800 Subject: [PATCH] add BasicVSR Benchmark (#440) * add Benchmark * add BasicVSR Benchmark --- benchmark/README.md | 37 +++++++++++++++++++++++++++++++++++++ benchmark/benchmark.yaml | 10 +++++++++- benchmark/run_all.sh | 16 +++++++++++++--- 3 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 benchmark/README.md diff --git a/benchmark/README.md b/benchmark/README.md new file mode 100644 index 0000000..f8eea34 --- /dev/null +++ b/benchmark/README.md @@ -0,0 +1,37 @@ +# PaddGAN模型性能复现 +## 目录 + +``` +├── README.md # 说明文档 +├── benchmark.yaml # 配置文件,设置测试模型及模型参数 +├── run_all.sh # 执行入口,测试并获取所有生成对抗模型的训练性能 +└── run_benchmark.sh # 执行实体,测试单个分割模型的训练性能 +``` + +## 环境介绍 +### 物理机环境 +- 单机(单卡、8卡) + - 系统:CentOS release 7.5 (Final) + - GPU:Tesla V100-SXM2-32GB * 8 + - CPU:Intel(R) Xeon(R) Gold 6271C CPU @ 2.60GHz * 80 + - CUDA、cudnn Version: cuda10.2-cudnn7 + +#### 备注 +BasicVSR模型因竞品torch模型只能测4卡,故这里也测4卡。 + +### Docker 镜像 + +- **镜像版本**: `registry.baidubce.com/paddlepaddle/paddle:2.1.2-gpu-cuda10.2-cudnn7` +- **paddle 版本**: `2.1.2` +- **CUDA 版本**: `10.2` +- **cuDnn 版本**: `7` + +## 测试步骤 + +```bash +bash benchmark/run_all.sh +``` + +## 输出 + +执行完成后,在PaddleGAN目录会产出模型训练性能数据的文件,比如`esrgan_mp_bs32_fp32_8`等文件。 diff --git a/benchmark/benchmark.yaml b/benchmark/benchmark.yaml index e9389d0..4a5c9e6 100644 --- a/benchmark/benchmark.yaml +++ b/benchmark/benchmark.yaml @@ -23,9 +23,17 @@ esrgan: log_interval: 10 edvr: - dataset_web: https://paddlegan.bj.bcebos.com/datasets/REDS.tar + dataset: data/REDS config: configs/edvr_m_wo_tsa.yaml fp_item: fp32 bs_item: 4 64 total_iters: 300 log_interval: 10 + +basicvsr: + dataset: data/REDS + config: configs/basicvsr_reds.yaml + fp_item: fp32 + bs_item: 2 4 + total_iters: 300 + log_interval: 10 diff --git a/benchmark/run_all.sh b/benchmark/run_all.sh index 35597f2..90e5284 100755 --- a/benchmark/run_all.sh +++ b/benchmark/run_all.sh @@ -32,9 +32,14 @@ for model_mode in ${model_mode_list[@]}; do eval total_iters='$'"${model_mode}_total_iters" eval epochs='$'"${model_mode}_epochs" eval dataset_web='$'"${model_mode}_dataset_web" + eval dataset='$'"${model_mode}_dataset" eval log_interval='$'"${model_mode}_log_interval" - wget ${dataset_web} -O data/${model_mode}.tar - tar -vxf data/${model_mode}.tar -C data/ + if [ -n "$dataset" ]; then + cp -r ${dataset} data/ + else + wget ${dataset_web} -O data/${model_mode}.tar + tar -vxf data/${model_mode}.tar -C data/ + fi if [ -n "$total_iters" ]; then mode="total_iters" max_iter=$total_iters @@ -52,7 +57,12 @@ for model_mode in ${model_mode_list[@]}; do sleep 60 echo "index is speed, 8gpus, run_mode is multi_process, begin, ${model_name}" run_mode=mp - CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash benchmark/run_benchmark.sh ${run_mode} ${bs_item} ${fp_item} ${mode} ${max_iter} ${model_mode} ${config} ${log_interval} + basicvsr_name=basicvsr + if [ ${model_mode} = ${basicvsr_name} ]; then + CUDA_VISIBLE_DEVICES=0,1,2,3 bash benchmark/run_benchmark.sh ${run_mode} ${bs_item} ${fp_item} ${mode} ${max_iter} ${model_mode} ${config} ${log_interval} + else + CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash benchmark/run_benchmark.sh ${run_mode} ${bs_item} ${fp_item} ${mode} ${max_iter} ${model_mode} ${config} ${log_interval} + fi sleep 60 done done -- GitLab