test_infer.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #!/bin/bash
  2. BATCH_SIZE=1
  3. INPUT_LENGTH=128
  4. NUM_ITERS=1003 # extra 3 iterations for warmup
  5. TACOTRON2_CKPT="tacotron2_1032590_6000_amp"
  6. WAVEGLOW_CKPT="waveglow_1076430_14000_amp"
  7. RUN_MODE="" # = fp32
  8. LOG_RUN_MODE="gpu_fp32"
  9. TEST_PROGRAM="test_infer.py"
  10. WN_CHANNELS=512
  11. LOG_SUFFIX_ADD="" #additional info, e.g., GPU type
  12. while [ -n "$1" ]
  13. do
  14. case "$1" in
  15. -bs|--batch-size)
  16. BATCH_SIZE="$2"
  17. shift
  18. ;;
  19. -il|--input-length)
  20. INPUT_LENGTH="$2"
  21. shift
  22. ;;
  23. --num-iters)
  24. NUM_ITERS="$2"
  25. shift
  26. ;;
  27. --test)
  28. TEST_PROGRAM="$2"
  29. shift
  30. ;;
  31. --tacotron2)
  32. TACOTRON2_CKPT="$2"
  33. shift
  34. ;;
  35. --encoder)
  36. ENCODER_CKPT="$2"
  37. shift
  38. ;;
  39. --decoder)
  40. DECODER_CKPT="$2"
  41. shift
  42. ;;
  43. --postnet)
  44. POSTNET_CKPT="$2"
  45. shift
  46. ;;
  47. --waveglow)
  48. WAVEGLOW_CKPT="$2"
  49. shift
  50. ;;
  51. --wn-channels)
  52. WN_CHANNELS="$2"
  53. shift
  54. ;;
  55. --cpu)
  56. RUN_MODE="--cpu"
  57. LOG_RUN_MODE="cpu_fp32"
  58. ;;
  59. --fp16)
  60. RUN_MODE="--fp16"
  61. LOG_RUN_MODE="gpu_fp16"
  62. ;;
  63. --log-suffix)
  64. LOG_SUFFIX_ADD="$2"
  65. shift
  66. ;;
  67. *)
  68. echo "Option $1 not recognized"
  69. esac
  70. shift
  71. done
  72. LOG_SUFFIX=bs${BATCH_SIZE}_il${INPUT_LENGTH}_${LOG_RUN_MODE}_wn${WN_CHANNELS}_${LOG_SUFFIX_ADD}
  73. NVLOG_FILE=nvlog_${LOG_SUFFIX}.json
  74. TMP_LOGFILE=tmp_log_${LOG_SUFFIX}.log
  75. LOGFILE=log_${LOG_SUFFIX}.log
  76. if [ "$TEST_PROGRAM" = "tensorrt/test_infer_trt.py" ]
  77. then
  78. TACOTRON2_PARAMS="--encoder $ENCODER_CKPT --decoder $DECODER_CKPT --postnet $POSTNET_CKPT"
  79. else
  80. TACOTRON2_PARAMS="--tacotron2 $TACOTRON2_CKPT"
  81. fi
  82. set -x
  83. python $TEST_PROGRAM \
  84. $TACOTRON2_PARAMS \
  85. --waveglow $WAVEGLOW_CKPT \
  86. --batch-size $BATCH_SIZE \
  87. --input-length $INPUT_LENGTH \
  88. --log-file $NVLOG_FILE \
  89. --num-iters $NUM_ITERS \
  90. --wn-channels $WN_CHANNELS \
  91. $RUN_MODE \
  92. |& tee $TMP_LOGFILE
  93. set +x
  94. PERF=$(cat $TMP_LOGFILE | grep -F 'Throughput average (samples/sec)' | awk -F'= ' '{print $2}')
  95. NUM_MELS=$(cat $TMP_LOGFILE | grep -F 'Number of mels per audio average' | awk -F'= ' '{print $2}')
  96. LATENCY=$(cat $TMP_LOGFILE | grep -F 'Latency average (seconds)' | awk -F'= ' '{print $2}')
  97. LATENCYSTD=$(cat $TMP_LOGFILE | grep -F 'Latency std (seconds)' | awk -F'= ' '{print $2}')
  98. LATENCY50=$(cat $TMP_LOGFILE | grep -F 'Latency cl 50 (seconds)' | awk -F'= ' '{print $2}')
  99. LATENCY90=$(cat $TMP_LOGFILE | grep -F 'Latency cl 90 (seconds)' | awk -F'= ' '{print $2}')
  100. LATENCY95=$(cat $TMP_LOGFILE | grep -F 'Latency cl 95 (seconds)' | awk -F'= ' '{print $2}')
  101. LATENCY99=$(cat $TMP_LOGFILE | grep -F 'Latency cl 99 (seconds)' | awk -F'= ' '{print $2}')
  102. echo "$BATCH_SIZE,$INPUT_LENGTH,$LOG_RUN_MODE,$NUM_ITERS,$LATENCY,$LATENCYSTD,$LATENCY50,$LATENCY90,$LATENCY95,$LATENCY99,$PERF,$NUM_MELS" | tee $LOGFILE