run_cnn_testbench.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/sh
  2. BASE_PATH=.
  3. TEST_PATH=${BASE_PATH}
  4. RES_PATH=${TEST_PATH}/resource/cnn_testbench
  5. OUT_PATH=${TEST_PATH}/out/cnn
  6. #export LD_LIBRARY_PATH=${BASE_PATH}/lib/:$LD_LIBRARY_PATH
  7. REPEAT_COUNT=1
  8. TIMEOUT=2000 # // 2000ms
  9. TASK_COUNT=1
  10. MODEL=lenet
  11. OCM_SIZE=OCM_1M5
  12. TOP_NUM=0
  13. VERBOSE=0
  14. while getopts ":r:t:m:o:p:v:" opt
  15. do
  16. case $opt in
  17. r)
  18. REPEAT_COUNT=$OPTARG
  19. ;;
  20. t)
  21. TIMEOUT=$OPTARG
  22. ;;
  23. m)
  24. MODEL=$OPTARG
  25. ;;
  26. o)
  27. OCM_SIZE=$OPTARG
  28. ;;
  29. p)
  30. TOP_NUM=$OPTARG
  31. ;;
  32. v)
  33. VERBOSE=$OPTARG
  34. ;;
  35. ?)
  36. echo "unsupport parameter!!!"
  37. exit 1;;
  38. esac
  39. done
  40. echo "MODEL="${MODEL}, "OCM="${OCM_SIZE}, "REPEAT_COUNT="${REPEAT_COUNT}
  41. rm -rf ${OUT_PATH}/${MODEL}/${OCM_SIZE}; mkdir -p ${OUT_PATH}/${MODEL}/${OCM_SIZE}
  42. if [ "${VERBOSE}" == "1" ]; then
  43. echo "Usage: ./run_cnn_testbench.sh [-m model_name] [-r repeat_cnt]"
  44. ${TEST_PATH}/cnn_testbench --unpacked_in --unpacked_out \
  45. -m ${RES_PATH}/${MODEL}/${OCM_SIZE}/model.mbs.bin \
  46. -o ${OUT_PATH}/${MODEL}/${OCM_SIZE} \
  47. -t ${TIMEOUT} \
  48. --repeat_count ${REPEAT_COUNT} \
  49. --task_count ${TASK_COUNT} \
  50. ${RES_PATH}/${MODEL}/m1.tensor.bin
  51. else
  52. ${TEST_PATH}/cnn_testbench --unpacked_in --unpacked_out \
  53. -m ${RES_PATH}/${MODEL}/${OCM_SIZE}/model.mbs.bin \
  54. -o ${OUT_PATH}/${MODEL}/${OCM_SIZE} \
  55. -t ${TIMEOUT} \
  56. --repeat_count ${REPEAT_COUNT} \
  57. --task_count ${TASK_COUNT} \
  58. ${RES_PATH}/${MODEL}/m1.tensor.bin > test.log
  59. fi
  60. if [ "${TOP_NUM}" != "0" ]; then
  61. ${TEST_PATH}/bin/print_top_label.sh \
  62. ${OUT_PATH}/${MODEL}/${OCM_SIZE} \
  63. ${RES_PATH}/${MODEL}/label.txt \
  64. ${TOP_NUM}
  65. fi