Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleOCR
提交
3b2e50a1
P
PaddleOCR
项目概览
PaddlePaddle
/
PaddleOCR
大约 1 年 前同步成功
通知
1528
Star
32962
Fork
6643
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
108
列表
看板
标记
里程碑
合并请求
7
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
108
Issue
108
列表
看板
标记
里程碑
合并请求
7
合并请求
7
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3b2e50a1
编写于
9月 28, 2021
作者:
L
LDOUBLEV
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'add_det_benchmark' of
https://github.com/LDOUBLEV/PaddleOCR
into fix_eval
上级
9dba4a12
49fba3e8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
84 addition
and
1 deletion
+84
-1
benchmark/run_benchmark_det.sh
benchmark/run_benchmark_det.sh
+54
-0
benchmark/run_det.sh
benchmark/run_det.sh
+29
-0
configs/det/det_r50_vd_east.yml
configs/det/det_r50_vd_east.yml
+1
-1
未找到文件。
benchmark/run_benchmark_det.sh
0 → 100644
浏览文件 @
3b2e50a1
#!/usr/bin/env bash
set
-xe
# 运行示例:CUDA_VISIBLE_DEVICES=0 bash run_benchmark.sh ${run_mode} ${bs_item} ${fp_item} 500 ${model_mode}
# 参数说明
function
_set_params
(){
run_mode
=
${
1
:-
"sp"
}
# 单卡sp|多卡mp
batch_size
=
${
2
:-
"64"
}
fp_item
=
${
3
:-
"fp32"
}
# fp32|fp16
max_iter
=
${
4
:-
"500"
}
# 可选,如果需要修改代码提前中断
model_name
=
${
5
:-
"model_name"
}
run_log_path
=
${
TRAIN_LOG_DIR
:-
$(
pwd
)
}
# TRAIN_LOG_DIR 后续QA设置该参数
# 以下不用修改
device
=
${
CUDA_VISIBLE_DEVICES
//,/
}
arr
=(
${
device
}
)
num_gpu_devices
=
${#
arr
[*]
}
log_file
=
${
run_log_path
}
/
${
model_name
}
_
${
run_mode
}
_bs
${
batch_size
}
_
${
fp_item
}
_
${
num_gpu_devices
}
}
function
_train
(){
echo
"Train on
${
num_gpu_devices
}
GPUs"
echo
"current CUDA_VISIBLE_DEVICES=
$CUDA_VISIBLE_DEVICES
, gpus=
$num_gpu_devices
, batch_size=
$batch_size
"
train_cmd
=
"-c configs/det/
${
model_name
}
.yml
-o Train.loader.batch_size_per_card=
${
batch_size
}
-o Global.epoch_num=
${
max_iter
}
"
case
${
run_mode
}
in
sp
)
train_cmd
=
"python3.7 tools/train.py "
${
train_cmd
}
""
;;
mp
)
train_cmd
=
"python3.7 -m paddle.distributed.launch --log_dir=./mylog --gpus=
$CUDA_VISIBLE_DEVICES
tools/train.py
${
train_cmd
}
"
;;
*
)
echo
"choose run_mode(sp or mp)"
;
exit
1
;
esac
# 以下不用修改
timeout
15m
${
train_cmd
}
>
${
log_file
}
2>&1
if
[
$?
-ne
0
]
;
then
echo
-e
"
${
model_name
}
, FAIL"
export
job_fail_flag
=
1
else
echo
-e
"
${
model_name
}
, SUCCESS"
export
job_fail_flag
=
0
fi
kill
-9
`
ps
-ef
|grep
'python3.7'
|awk
'{print $2}'
`
if
[
$run_mode
=
"mp"
-a
-d
mylog
]
;
then
rm
${
log_file
}
cp
mylog/workerlog.0
${
log_file
}
fi
}
_set_params
$@
_train
benchmark/run_det.sh
0 → 100644
浏览文件 @
3b2e50a1
# 提供可稳定复现性能的脚本,默认在标准docker环境内py37执行: paddlepaddle/paddle:latest-gpu-cuda10.1-cudnn7 paddle=2.1.2 py=37
# 执行目录:需说明
cd
PaddleOCR
# 1 安装该模型需要的依赖 (如需开启优化策略请注明)
python3.7
-m
pip
install
-r
requirements.txt
# 2 拷贝该模型需要数据、预训练模型
wget
-p
./tain_data/ https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/icdar2015.tar
&&
cd
train_data
&&
tar
xf icdar2015.tar
&&
cd
../
wget
-p
./pretrain_models/ https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_vd_pretrained.pdparams
# 3 批量运行(如不方便批量,1,2需放到单个模型中)
model_mode_list
=(
det_mv3_db det_r50_vd_east
)
fp_item_list
=(
fp32
)
bs_list
=(
256 128
)
for
model_mode
in
${
model_mode_list
[@]
}
;
do
for
fp_item
in
${
fp_item_list
[@]
}
;
do
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
}
10
${
model_mode
}
# (5min)
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
}
10
${
model_mode
}
sleep
60
done
done
done
configs/det/det_r50_vd_east.yml
浏览文件 @
3b2e50a1
...
...
@@ -8,7 +8,7 @@ Global:
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step
:
[
4000
,
5000
]
cal_metric_during_train
:
False
pretrained_model
:
./pretrain_models/ResNet50_vd_pretrained
/
pretrained_model
:
./pretrain_models/ResNet50_vd_pretrained
checkpoints
:
save_inference_dir
:
use_visualdl
:
False
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录