You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

run_benchmark_nets.bat 6.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. @rem Copyright 2020 Huawei Technologies Co., Ltd
  2. @rem
  3. @rem Licensed under the Apache License, Version 2.0 (the "License");
  4. @rem you may not use this file except in compliance with the License.
  5. @rem You may obtain a copy of the License at
  6. @rem
  7. @rem http://www.apache.org/licenses/LICENSE-2.0
  8. @rem
  9. @rem Unless required by applicable law or agreed to in writing, software
  10. @rem distributed under the License is distributed on an "AS IS" BASIS,
  11. @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. @rem See the License for the specific language governing permissions and
  13. @rem limitations under the License.
  14. @rem ============================================================================
  15. @echo off
  16. @title run_benchmark_nets
  17. setlocal enabledelayedexpansion
  18. SET BASEPATH=%CD%
  19. SET OUTPUT_PATH=%BASEPATH%/output
  20. SET TOOL_PATH=%1
  21. SET TOOL_PATH=%TOOL_PATH:"=%/windows_x64
  22. SET MODEL_PATH=%2
  23. SET MODEL_PATH=%MODEL_PATH:"=%/models/hiai
  24. SET BENCHMARK_BASE=%BASEPATH:"=%/output/benchmark
  25. SET MODEL_CONFIG=%BASEPATH%/win_models.cfg
  26. cd /d %BASEPATH%
  27. IF EXIST "%BASEPATH%/output" (
  28. rd /s /q output
  29. )
  30. md output
  31. cd /d %OUTPUT_PATH%
  32. IF EXIST benchmark (
  33. rd /s /q benchmark
  34. )
  35. md benchmark
  36. SET RET_CODE=0
  37. cd benchmark
  38. unzip "%TOOL_PATH%/mindspore-lite-*-converter-win-cpu.zip"
  39. IF NOT %errorlevel% == 0 (
  40. echo "Decompression of converter tool fail!"
  41. SET RET_CODE=1
  42. goto run_eof
  43. )
  44. unzip "%TOOL_PATH%/mindspore-lite-*-win-runtime-x86-cpu.zip"
  45. IF NOT %errorlevel% == 0 (
  46. echo "Decompression of runtime tool fail!"
  47. SET RET_CODE=1
  48. goto run_eof
  49. )
  50. md ms
  51. SET TYPE_ID=''
  52. SET MODEL_NAME=''
  53. SET SUFFIX=''
  54. echo "Convert models"
  55. cd mindspore-lite-*-converter-win-cpu/converter
  56. for /f "tokens=1-2 delims= " %%i in (%MODEL_CONFIG%) do (
  57. for /f "tokens=1-2 delims=." %%k in ("%%j") do (
  58. SET TYPE_ID=%%i
  59. SET MODEL_NAME=%%k
  60. SET SUFFIX=%%l
  61. )
  62. if !TYPE_ID!==1 (converter_lite --fmk=MINDIR --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!")
  63. if !TYPE_ID!==2 (converter_lite --fmk=MINDIR --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!_train" --trainModel=true)
  64. if !TYPE_ID!==3 (converter_lite --fmk=CAFFE --modelFile="%MODEL_PATH%/!MODEL_NAME!.prototxt" --weightFile="%MODEL_PATH%/!MODEL_NAME!.caffemodel" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!")
  65. if !TYPE_ID!==4 (converter_lite --fmk=ONNX --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!")
  66. if !TYPE_ID!==5 (converter_lite --fmk=TFLITE --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!")
  67. if !TYPE_ID!==6 (converter_lite --fmk=TFLITE --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!" --quantType=AwareTraining)
  68. if !TYPE_ID!==7 (converter_lite --fmk=TFLITE --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!_posttraining" --quantType=PostTraining --configFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!_posttraining.config")
  69. if !TYPE_ID!==8 (converter_lite --fmk=TFLITE --modelFile="%MODEL_PATH%/!MODEL_NAME!.!SUFFIX!" --outputFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!_weightquant" --quantType=WeightQuant --bitNum=8 --quantWeightSize=500 --quantWeightChannel=16)
  70. IF !errorlevel! == 0 (
  71. echo "Run converter for model (TYPE_ID=!TYPE_ID!) !MODEL_NAME!.!SUFFIX! : pass!"
  72. ) ELSE (
  73. echo "Run converter for model (TYPE_ID=!TYPE_ID!) !MODEL_NAME!.!SUFFIX! : fail!"
  74. SET RET_CODE=1
  75. goto run_eof
  76. )
  77. )
  78. echo "Run converted models"
  79. cd /d %BENCHMARK_BASE%/mindspore-lite-*-win-runtime-x86-cpu/benchmark
  80. SET INPUT_BASE=%MODEL_PATH%/input_output/input
  81. SET OUTPUT_BASE=%MODEL_PATH%/input_output/output
  82. for /f "tokens=1-2 delims= " %%i in (%MODEL_CONFIG%) do (
  83. for /f "tokens=1-2 delims=." %%k in ("%%j") do (
  84. SET TYPE_ID=%%i
  85. SET MODEL_NAME=%%k
  86. SET SUFFIX=%%l
  87. )
  88. if !TYPE_ID!==1 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.out" --accuracyThreshold=1.5)
  89. if !TYPE_ID!==2 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!_train.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.out" --accuracyThreshold=1.5)
  90. if !TYPE_ID!==3 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.ms.out")
  91. if !TYPE_ID!==4 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.out")
  92. if !TYPE_ID!==5 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.out")
  93. if !TYPE_ID!==6 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.out")
  94. if !TYPE_ID!==7 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!_posttraining.ms" --inDataFile="%MODEL_PATH%/../../quantTraining/mnist_calibration_data/00099.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!_posttraining.ms.out")
  95. if !TYPE_ID!==8 (benchmark --modelFile="%BENCHMARK_BASE%/ms/!MODEL_NAME!.!SUFFIX!_weightquant.ms" --inDataFile="%INPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.bin" --benchmarkDataFile="%OUTPUT_BASE%/!MODEL_NAME!.!SUFFIX!.ms.out")
  96. IF !errorlevel! == 0 (
  97. echo "Run benchmark for model (TYPE_ID=!TYPE_ID!) !MODEL_NAME!.!SUFFIX! : pass!"
  98. ) ELSE (
  99. echo "Run benchmark for model (TYPE_ID=!TYPE_ID!) !MODEL_NAME!.!SUFFIX! : fail!"
  100. SET RET_CODE=1
  101. goto run_eof
  102. )
  103. )
  104. :run_eof
  105. IF %RET_CODE% == 0 (
  106. SET errorlevel=0
  107. echo "Run models in Windows success!"
  108. ) ELSE (
  109. SET errorlevel=1
  110. echo "Run models in Windows fail!"
  111. )
  112. cd /d %BASEPATH%