Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
c32becdd
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
接近 2 年 前同步成功
通知
116
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c32becdd
编写于
11月 24, 2021
作者:
W
Walter
提交者:
GitHub
11月 24, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1469 from hysunflower/update_scripts_benchmark
Update scripts benchmark
上级
f61b3f20
f44a718c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
38 addition
and
11 deletion
+38
-11
benchmark/prepare_data.sh
benchmark/prepare_data.sh
+11
-0
benchmark/run_all.sh
benchmark/run_all.sh
+10
-5
benchmark/run_benchmark.sh
benchmark/run_benchmark.sh
+17
-6
未找到文件。
benchmark/prepare_data.sh
浏览文件 @
c32becdd
#!/bin/bash
dataset_url
=
$1
package_check_list
=(
imageio tqdm Cython pycocotools tb_paddle scipy pandas wget h5py sklearn opencv-python visualdl
)
for
package
in
${
package_check_list
[@]
}
;
do
if
python
-c
"import
${
package
}
"
>
/dev/null 2>&1
;
then
echo
"
${
package
}
have already installed"
else
echo
"
${
package
}
NOT FOUND"
pip
install
${
package
}
echo
"
${
package
}
installed"
fi
done
cd
dataset
rm
-rf
ILSVRC2012
wget
-nc
${
dataset_url
}
...
...
benchmark/run_all.sh
浏览文件 @
c32becdd
...
...
@@ -5,20 +5,25 @@
# pip install ...
# 2 拷贝该模型需要数据、预训练模型
# 3 批量运行(如不方便批量,1,2需放到单个模型中)
model_mode_list
=(
MobileNetV1 MobileNetV2 MobileNetV3_large_x1_0 EfficientNetB0 ShuffleNetV2_x1_0 DenseNet121 HRNet_W48_C SwinTransformer_tiny_patch4_window7_224 alt_gvt_base
)
model_mode_list
=(
MobileNetV1 MobileNetV2 MobileNetV3_large_x1_0 ShuffleNetV2_x1_0 HRNet_W48_C SwinTransformer_tiny_patch4_window7_224 alt_gvt_base
)
# benchmark 监控模型列表
#model_mode_list=(MobileNetV1 MobileNetV2 MobileNetV3_large_x1_0 EfficientNetB0 ShuffleNetV2_x1_0 DenseNet121 HRNet_W48_C SwinTransformer_tiny_patch4_window7_224 alt_gvt_base) # 该脚本支持列表
fp_item_list
=(
fp32
)
bs_list
=(
32 64 96 128
)
#
bs_list=(32 64 96 128)
for
model_mode
in
${
model_mode_list
[@]
}
;
do
for
fp_item
in
${
fp_item_list
[@]
}
;
do
if
[
${
model_mode
}
=
MobileNetV3_large_x1_0
]
||
[
${
model_mode
}
=
ShuffleNetV2_x1_0
]
;
then
bs_list
=(
256
)
else
bs_list
=(
64
)
fi
for
bs_item
in
${
bs_list
[@]
}
;
do
echo
"index is speed, 1gpus, begin,
${
model_name
}
"
run_mode
=
sp
CUDA_VISIBLE_DEVICES
=
0 bash benchmark/run_benchmark.sh
${
run_mode
}
${
bs_item
}
${
fp_item
}
1
0
${
model_mode
}
# (5min)
CUDA_VISIBLE_DEVICES
=
0 bash benchmark/run_benchmark.sh
${
run_mode
}
${
bs_item
}
${
fp_item
}
1
${
model_mode
}
|
tee
${
log_path
}
/clas_
${
model_mode
}
_
${
run_mode
}
_bs
${
bs_item
}
_
${
fp_item
}
_1gpus 2>&1
# (5min)
sleep
10
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
}
1
0
${
model_mode
}
CUDA_VISIBLE_DEVICES
=
0,1,2,3,4,5,6,7 bash benchmark/run_benchmark.sh
${
run_mode
}
${
bs_item
}
${
fp_item
}
1
${
model_mode
}
|
tee
${
log_path
}
/clas_
${
model_mode
}
_
${
run_mode
}
_bs
${
bs_item
}
_
${
fp_item
}
_8gpus8p 2>&1
sleep
10
done
done
...
...
benchmark/run_benchmark.sh
浏览文件 @
c32becdd
...
...
@@ -6,10 +6,19 @@ function _set_params(){
run_mode
=
${
1
:-
"sp"
}
# 单卡sp|多卡mp
batch_size
=
${
2
:-
"64"
}
fp_item
=
${
3
:-
"fp32"
}
# fp32|fp16
epochs
=
${
4
:-
"
10
"
}
# 可选,如果需要修改代码提前中断
epochs
=
${
4
:-
"
2
"
}
# 可选,如果需要修改代码提前中断
model_name
=
${
5
:-
"model_name"
}
run_log_path
=
"
${
TRAIN_LOG_DIR
:-
$(
pwd
)
}
/benchmark"
# TRAIN_LOG_DIR 后续QA设置该参数
index
=
1
mission_name
=
"图像分类"
# 模型所属任务名称,具体可参考scripts/config.ini (必填)
direction_id
=
0
# 任务所属方向,0:CV,1:NLP,2:Rec。 (必填)
skip_steps
=
8
# 解析日志,有些模型前几个step耗时长,需要跳过 (必填)
keyword
=
"ips:"
# 解析日志,筛选出数据所在行的关键字 (必填)
keyword_loss
=
"loss:"
#选填
model_mode
=
-1
# 解析日志,具体参考scripts/analysis.py. (必填)
ips_unit
=
"images/s"
base_batch_size
=
$batch_size
# 以下不用修改
device
=
${
CUDA_VISIBLE_DEVICES
//,/
}
arr
=(
${
device
}
)
...
...
@@ -26,7 +35,7 @@ function _train(){
model_config
=
`
find ppcls/configs/ImageNet
-name
${
model_name
}
_fp16.yaml
`
fi
train_cmd
=
"-c
${
model_config
}
-o DataLoader.Train.sampler.batch_size=
${
batch_size
}
-o Global.epochs=
${
epochs
}
"
train_cmd
=
"-c
${
model_config
}
-o DataLoader.Train.sampler.batch_size=
${
batch_size
}
-o Global.epochs=
${
epochs
}
-o Global.eval_during_train=False -o Global.print_batch_step=2"
case
${
run_mode
}
in
sp
)
train_cmd
=
"python -u tools/train.py
${
train_cmd
}
"
;;
mp
)
...
...
@@ -36,7 +45,7 @@ function _train(){
esac
rm
-rf
mylog
# 以下不用修改
timeout
1
5m
${
train_cmd
}
>
${
log_file
}
2>&1
timeout
5m
${
train_cmd
}
>
${
log_file
}
2>&1
if
[
$?
-ne
0
]
;
then
echo
-e
"
${
model_name
}
, FAIL"
export
job_fail_flag
=
1
...
...
@@ -51,6 +60,8 @@ function _train(){
cp
mylog/workerlog.0
${
log_file
}
fi
}
source
${
BENCHMARK_ROOT
}
/scripts/run_model.sh
# 在该脚本中会对符合benchmark规范的log使用analysis.py 脚本进行性能数据解析;该脚本在连调时可从benchmark repo中下载https://github.com/PaddlePaddle/benchmark/blob/master/scripts/run_model.sh;如果不联调只想要产出训练log可以注掉本行,提交时需打开
_set_params
$@
_train
_run
#_train
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录