|
- #!/bin/bash
- # Copyright 2020 Huawei Technologies Co., Ltd
- #
- # 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.
- # ============================================================================
-
- if [ $# -gt 6 ]
- then
- echo "Usage: sh test.sh [MODEL_PATH] [DATASET] [GROUND_TRUTH_MAT] [SAVE_PATH] [DEVICE_ID] [CKPT]"
- echo " or: sh test.sh [MODEL_PATH] [DATASET] [GROUND_TRUTH_MAT] [SAVE_PATH] [DEVICE_ID]"
- echo " or: sh test.sh [MODEL_PATH] [DATASET] [GROUND_TRUTH_MAT] [SAVE_PATH]"
- echo " or: sh test.sh [MODEL_PATH] [DATASET] [GROUND_TRUTH_MAT]"
- echo " or: sh test.sh [MODEL_PATH] [DATASET]"
- echo " or: sh test.sh [MODEL_PATH]"
- echo " or: sh test.sh "
- exit 1
- fi
-
- get_real_path(){
- if [ "${1:0:1}" == "/" ]; then
- echo "$1"
- else
- echo "$(realpath -m $PWD/$1)"
- fi
- }
-
- current_exec_path=$(pwd)
- echo ${current_exec_path}
-
- dirname_path=$(dirname "$(pwd)")
- echo ${dirname_path}
-
- SCRIPT_NAME='test.py'
-
- ulimit -c unlimited
-
- root=${current_exec_path} # your script path
- model_path=$root/model/
- dataset_root=$root/dataset
- dataset_path=$dataset_root/centerface/images/val/images/
- ground_truth_mat=$dataset_root/centerface/ground_truth/val.mat
- save_path=$root/output/centerface/
- device_id=0
- ckpt="0-125_24750.ckpt" # the model saved for epoch=125
-
- if [ $# == 1 ]
- then
- model_path=$(get_real_path $1)
- if [ ! -f $model_path ]
- then
- echo "error: model_path=$model_path is not a file"
- exit 1
- fi
- fi
-
- if [ $# == 2 ]
- then
- dataset_path=$(get_real_path $2)
- if [ ! -f $dataset_path ]
- then
- echo "error: dataset_path=$dataset_path is not a file"
- exit 1
- fi
- fi
-
- if [ $# == 3 ]
- then
- ground_truth_mat=$(get_real_path $3)
- if [ ! -f $ground_truth_mat ]
- then
- echo "error: ground_truth_mat=$ground_truth_mat is not a file"
- exit 1
- fi
- fi
-
- if [ $# == 4 ]
- then
- save_path=$(get_real_path $4)
- if [ ! -f $save_path ]
- then
- echo "error: save_path=$save_path is not a file"
- exit 1
- fi
- fi
-
- if [ $# == 5 ]
- then
- device_id=$5
- fi
-
- if [ $# == 6 ]
- then
- ckpt=$6
- fi
-
- echo $model_path
- echo $dataset_path
- echo $ground_truth_mat
- echo $save_path
-
- export PYTHONPATH=${dirname_path}:$PYTHONPATH
- export RANK_SIZE=1
-
- echo 'start testing'
- rm -rf ${current_exec_path}/device_test$device_id
- echo 'start rank '$device_id
- mkdir ${current_exec_path}/device_test$device_id
- cd ${current_exec_path}/device_test$device_id || exit
- export RANK_ID=0
- dev=`expr $device_id + 0`
- export DEVICE_ID=$dev
- python ${dirname_path}/${SCRIPT_NAME} \
- --is_distributed=0 \
- --data_dir=$dataset_path \
- --test_model=$model_path \
- --ground_truth_mat=$ground_truth_mat \
- --save_dir=$save_path \
- --rank=$device_id \
- --ckpt_name=$ckpt > test.log 2>&1 &
-
- echo 'running'
|