From 279b653ce982cdb7a608851c93d080b5d1579b45 Mon Sep 17 00:00:00 2001 From: xiegegege <46314656+xiegegege@users.noreply.github.com> Date: Wed, 14 Apr 2021 11:10:35 +0800 Subject: [PATCH] Add model benchmark ci (#32247) --- paddle/scripts/paddle_build.sh | 7 ++++ tools/test_model_benchmark.sh | 62 ++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 tools/test_model_benchmark.sh diff --git a/paddle/scripts/paddle_build.sh b/paddle/scripts/paddle_build.sh index 2df9e0198e..822f805855 100755 --- a/paddle/scripts/paddle_build.sh +++ b/paddle/scripts/paddle_build.sh @@ -1830,6 +1830,10 @@ function test_op_benchmark() { bash ${PADDLE_ROOT}/tools/test_op_benchmark.sh } +function test_model_benchmark() { + bash ${PADDLE_ROOT}/tools/test_model_benchmark.sh +} + function summary_check_problems() { set +x local check_style_code=$1 @@ -2024,6 +2028,9 @@ function main() { test_op_benchmark) test_op_benchmark ;; + test_model_benchmark) + test_model_benchmark + ;; *) print_usage exit 1 diff --git a/tools/test_model_benchmark.sh b/tools/test_model_benchmark.sh new file mode 100644 index 0000000000..720bb33479 --- /dev/null +++ b/tools/test_model_benchmark.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +function compile_install_paddle { + export CUDA_ARCH_NAME=Auto + export PY_VERSION=3.7 + export WITH_DISTRIBUTE=OFF + export WITH_GPU=ON + export WITH_TENSORRT=OFF + export WITH_TESTING=OFF + export WITH_UNITY_BUILD=ON + bash -x paddle/scripts/paddle_build.sh build + [ $? -ne 0 ] && echo "build paddle failed." && exit 1 + pip uninstall -y paddlepaddle_gpu + pip install build/python/dist/paddlepaddle_gpu-0.0.0-cp37-cp37m-linux_x86_64.whl + [ $? -ne 0 ] && echo "install paddle failed." && exit 1 +} + +function prepare_data { + cd ${cache_dir} + if [ -d "benchmark_data" ];then + echo -e "benchmark_data exist!" + else + mkdir benchmark_data + cd benchmark_data + mkdir dataset + cd dataset + wget --no-proxy -q https://paddle-qa.bj.bcebos.com/benchmark_data/Bert.zip + unzip Bert.zip + wget --no-proxy -q https://paddle-qa.bj.bcebos.com/benchmark_data/imagenet100_data.zip + unzip imagenet100_data.zip + fi +} + +function run_model_benchmark { + cd ${cache_dir}/benchmark_data + if [ -d "benchmark" ];then rm -rf benchmark + fi + git clone --recurse-submodules=PaddleClas --recurse-submodules=PaddleNLP https://github.com/paddlepaddle/benchmark.git + export data_path=${cache_dir}/benchmark_data/dataset + export BENCHMARK_ROOT=${cache_dir}/benchmark_data/benchmark + cd ${BENCHMARK_ROOT}/scripts/benchmark_ci + bash model_ci.sh +} + +compile_install_paddle +prepare_data +run_model_benchmark -- GitLab