diff --git a/scripts/test_inference.sh b/scripts/test_inference.sh new file mode 100644 index 0000000..fe8dac3 --- /dev/null +++ b/scripts/test_inference.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +function test_inference { + ./test_$1 + ./test_rtinference $1_$2.rt 1 + ./test_rtinference $1_$2.rt 4 +} + +sudo jeston_clock + +# modes=( 1 ) # only FP32 +# modes=( 1 2 ) # FP32 and FP16 +modes=( 1 2 3 ) # FP32, FP16 and INT8 + +rm times_rtinference.csv +for i in "${modes[@]}" +do + rm *rt + if [ $i -eq 1 ] + then + export TKDNN_MODE=FP32 + mode=fp32 + echo -e "${ORANGE}Test FP32${NC}" + fi + if [ $i -eq 2 ] + then + export TKDNN_MODE=FP16 + mode=fp16 + echo -e "${ORANGE}Test FP16${NC}" + fi + if [ $i -eq 3 ] + then + export TKDNN_MODE=INT8 + export TKDNN_CALIB_LABEL_PATH=../demo/COCO_val2017/all_labels.txt + export TKDNN_CALIB_IMG_PATH=../demo/COCO_val2017/all_images.txt + mode=int8 + echo -e "${ORANGE}Test INT8${NC}" + + fi + + export TKDNN_BATCHSIZE=4 + echo -e "${ORANGE}Batch $TKDNN_BATCHSIZE ${NC}" + + test_inference yolo4_320 $mode + test_inference yolo4_416 $mode + test_inference yolo4_512 $mode + test_inference yolo4_608 $mode +done + + + diff --git a/tests/test_rtinference/rtinference.cpp b/tests/test_rtinference/rtinference.cpp index e128ae8..76c2a33 100644 --- a/tests/test_rtinference/rtinference.cpp +++ b/tests/test_rtinference/rtinference.cpp @@ -18,6 +18,8 @@ int main(int argc, char *argv[]) { //convert network to tensorRT tk::dnn::NetworkRT netRT(NULL, argv[1]); + + tk::dnn::dataDim_t idim = netRT.input_dim; tk::dnn::dataDim_t odim = netRT.output_dim; @@ -63,11 +65,28 @@ int main(int argc, char *argv[]) { } } } - std::cout<<"Min: "<<*std::min_element(stats.begin(), stats.end())/BATCH_SIZE<<" ms\n"; - std::cout<<"Max: "<<*std::max_element(stats.begin(), stats.end())/BATCH_SIZE<<" ms\n"; + + double min = *std::min_element(stats.begin(), stats.end())/BATCH_SIZE; + double max = *std::max_element(stats.begin(), stats.end())/BATCH_SIZE; double mean =0; for(int i=0; i