Files
SDK_SG200x_V2/cviruntime/scripts/regression_models_e2e_cv182x.sh
carbon e25f20f7a3 add cviruntime
commit 3f4938648950a7f3bf9a19c320ca9fae7c52de20
Author: sophgo-forum-service <forum_service@sophgo.com>
Date:   Mon May 13 13:44:23 2024 +0800

    [feat] cviruntime opensource for cv18xx soc.

    - a4b6a3, add cumsum and gatherelements_pt.
2024-05-31 11:51:34 +08:00

141 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "cvimodels e2e testing for cv182x platform"
if [[ -z "$MODEL_PATH" ]]; then
MODEL_PATH=$TPU_ROOT/../cvimodel_regression
fi
if [ ! -e $MODEL_PATH ]; then
echo "MODEL_PATH $MODEL_PATH does not exist"
echo "Please set MODEL_PATH to cvimodel_regression dir"
exit 1
fi
export MODEL_PATH=$MODEL_PATH
model_list=(
####################
# Classification #
####################
"resnet50"
"resnet18"
"mobilenet_v1"
"mobilenet_v2"
"squeezenet_v1.1"
"shufflenet_v2"
"googlenet"
"inception_v3"
"densenet_121"
"densenet_201"
"senet_res50"
"resnext50"
# "res2net50"
"efficientnet-lite_b0"
"nasnet_mobile"
####################
# Detection #
####################
"retinaface_mnet25"
"retinaface_mnet25_600"
# "retinaface_res50" OOM: OUT OF MEMROY
"mobilenet_ssd"
"yolo_v1_448"
"yolo_v2_416"
"yolo_v3_320"
# "yolo_v3_416" ION NOT ENOUGH for 32bits system
"yolo_v3_tiny"
####################
# Face Recog #
####################
"arcface_res50"
####################
# Pose #
####################
# "alphapose" failed for DDR 2166Mhz
####################
)
model_list_batch=(
####################
# Classification #
####################
"resnet50"
"resnet18"
"mobilenet_v1"
"mobilenet_v2"
"squeezenet_v1.1"
"shufflenet_v2"
"googlenet"
"densenet_121"
"resnext50"
"efficientnet-lite_b0"
####################
# Detection #
####################
"retinaface_mnet25"
"mobilenet_ssd"
####################
# Face Recog #
####################
"arcface_res50"
####################
)
# turn off PMU
export TPU_ENABLE_PMU=0
if [ ! -e sdk_regression_out ]; then
mkdir sdk_regression_out
fi
ERR=0
pushd sdk_regression_out
if [ -z $1 ]; then
for model in ${model_list[@]}
do
echo "test $model"
model_runner \
--input $MODEL_PATH/${model}_bs1_in_fp32.npz \
--model $MODEL_PATH/${model}_bs1.cvimodel \
--output ${model}_out.npz \
--reference $MODEL_PATH/${model}_bs1_out_all.npz \
--enable-timer \
--count 100 2>&1 | tee $model.log
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
echo "$model test FAILED" >> verdict.log
ERR=1
else
echo "$model test PASSED" >> verdict.log
fi
done
else
model=$1
count=$2
echo "test $model"
model_runner \
--input $MODEL_PATH/${model}_bs1_in_fp32.npz \
--model $MODEL_PATH/${model}_bs1.cvimodel \
--output ${model}_out.npz \
--reference $MODEL_PATH/${model}_bs1_out_all.npz \
--enable-timer \
--count ${count} 2>&1 | tee $model.log
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
echo "$model test FAILED" >> verdict.log
ERR=1
else
echo "$model test PASSED" >> verdict.log
fi
fi
popd
# VERDICT
if [ $ERR -eq 0 ]; then
echo $0 ALL TEST PASSED
else
echo $0 FAILED
fi
exit $ERR