From 4525b4012e9042f10c30e76249df1e74ab00e546 Mon Sep 17 00:00:00 2001 From: tianshuo78520a <707759223@qq.com> Date: Mon, 2 Aug 2021 10:35:25 +0800 Subject: [PATCH] add test_ci_model_benchmark.sh --- tools/test_ci_model_benchmark.sh | 99 ++++++++++++++++++++++++++++++++ tools/test_model_benchmark.sh | 33 ++++------- 2 files changed, 110 insertions(+), 22 deletions(-) create mode 100644 tools/test_ci_model_benchmark.sh diff --git a/tools/test_ci_model_benchmark.sh b/tools/test_ci_model_benchmark.sh new file mode 100644 index 0000000000000..ae2d4458efdb1 --- /dev/null +++ b/tools/test_ci_model_benchmark.sh @@ -0,0 +1,99 @@ +#!/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 check_whl { + 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/*.whl + mkdir build/pr_whl && cp build/python/dist/*.whl build/pr_whl + [ $? -ne 0 ] && echo "install paddle failed." && exit 1 + + mkdir -p /tmp/pr && mkdir -p /tmp/develop + unzip -q build/python/dist/*.whl -d /tmp/pr + rm -f build/python/dist/*.whl && rm -f build/python/build/.timestamp + + git checkout . + git checkout -b develop_base_pr upstream/$BRANCH + bash -x paddle/scripts/paddle_build.sh build + [ $? -ne 0 ] && echo "install paddle failed." && exit 1 + cd build + unzip -q python/dist/*.whl -d /tmp/develop + + sed -i '/version.py/d' /tmp/pr/*/RECORD + sed -i '/version.py/d' /tmp/develop/*/RECORD + diff_whl=`diff /tmp/pr/*/RECORD /tmp/develop/*/RECORD|wc -l` + if [ ${diff_whl} -eq 0 ];then + echo "paddle whl does not diff in PR-CI-Model-benchmark, so skip this ci" + echo "ipipe_log_param_isSkipTest_model_benchmark: 1" + exit 0 + else + echo "ipipe_log_param_isSkipTest_model_benchmark: 0" + fi +} + +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 + check_whl + cd /workspace/Paddle + git clone --recurse-submodules=PaddleClas --recurse-submodules=PaddleNLP https://github.com/paddlepaddle/benchmark.git +} + +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 /workspace/Paddle + pip install build/pr_whl/*.whl + cd ${cache_dir}/benchmark_data + export data_path=${cache_dir}/benchmark_data/dataset + export BENCHMARK_ROOT=/workspace/Paddle/benchmark + cd ${BENCHMARK_ROOT}/scripts/benchmark_ci + bash model_ci.sh +} + +case $1 in + whl_check) + compile_install_paddle + ;; + run_benchmark) + prepare_data + run_model_benchmark + ;; + *) + compile_install_paddle + prepare_data + run_model_benchmark + ;; +esac diff --git a/tools/test_model_benchmark.sh b/tools/test_model_benchmark.sh index ae2d4458efdb1..98066d7beeaa7 100644 --- a/tools/test_model_benchmark.sh +++ b/tools/test_model_benchmark.sh @@ -20,7 +20,6 @@ function check_whl { [ $? -ne 0 ] && echo "build paddle failed." && exit 1 pip uninstall -y paddlepaddle_gpu pip install build/python/dist/*.whl - mkdir build/pr_whl && cp build/python/dist/*.whl build/pr_whl [ $? -ne 0 ] && echo "install paddle failed." && exit 1 mkdir -p /tmp/pr && mkdir -p /tmp/develop @@ -55,8 +54,6 @@ function compile_install_paddle { export WITH_TESTING=OFF export WITH_UNITY_BUILD=ON check_whl - cd /workspace/Paddle - git clone --recurse-submodules=PaddleClas --recurse-submodules=PaddleNLP https://github.com/paddlepaddle/benchmark.git } function prepare_data { @@ -64,8 +61,10 @@ function prepare_data { if [ -d "benchmark_data" ];then echo -e "benchmark_data exist!" else - mkdir benchmark_data && cd benchmark_data - mkdir dataset && cd dataset + 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 @@ -74,26 +73,16 @@ function prepare_data { } function run_model_benchmark { - cd /workspace/Paddle - pip install build/pr_whl/*.whl 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=/workspace/Paddle/benchmark + export BENCHMARK_ROOT=${cache_dir}/benchmark_data/benchmark cd ${BENCHMARK_ROOT}/scripts/benchmark_ci bash model_ci.sh } -case $1 in - whl_check) - compile_install_paddle - ;; - run_benchmark) - prepare_data - run_model_benchmark - ;; - *) - compile_install_paddle - prepare_data - run_model_benchmark - ;; -esac +compile_install_paddle +prepare_data +run_model_benchmark