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.

serving.sh 3.1 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #!/bin/bash
  2. export GLOG_v=1
  3. export DEVICE_ID=1
  4. MINDSPORE_INSTALL_PATH=$1
  5. ENV_DEVICE_ID=$DEVICE_ID
  6. CURRPATH=$(cd $(dirname $0); pwd)
  7. CURRUSER=$(whoami)
  8. PROJECT_PATH=${CURRPATH}/../../../
  9. echo "MINDSPORE_INSTALL_PATH:" ${MINDSPORE_INSTALL_PATH}
  10. echo "ENV_DEVICE_ID:" ${ENV_DEVICE_ID}
  11. echo "CURRPATH:" ${CURRPATH}
  12. echo "CURRUSER:" ${CURRUSER}
  13. echo "PROJECT_PATH:" ${PROJECT_PATH}
  14. MODEL_PATH=${CURRPATH}/model
  15. export LD_LIBRARY_PATH=${MINDSPORE_INSTALL_PATH}/lib:/usr/local/python/python375/lib/:${LD_LIBRARY_PATH}
  16. export PYTHONPATH=${MINDSPORE_INSTALL_PATH}/:${PYTHONPATH}
  17. echo "LD_LIBRARY_PATH: " ${LD_LIBRARY_PATH}
  18. echo "PYTHONPATH: " ${PYTHONPATH}
  19. echo "-------------show MINDSPORE_INSTALL_PATH----------------"
  20. ls -l ${MINDSPORE_INSTALL_PATH}
  21. echo "------------------show /usr/lib64/----------------------"
  22. ls -l /usr/local/python/python375/lib/
  23. clean_pid()
  24. {
  25. ps aux | grep 'ms_serving' | grep ${CURRUSER} | grep -v grep | awk '{print $2}' | xargs kill -15
  26. if [ $? -ne 0 ]
  27. then
  28. echo "clean pip failed"
  29. fi
  30. sleep 6
  31. }
  32. prepare_model()
  33. {
  34. echo "### begin to generate mode for serving test ###"
  35. python3 generate_model.py &> generate_model_serving.log
  36. echo "### end to generate mode for serving test ###"
  37. result=`ls -l | grep -E '*mindir' | grep -v ".log" | wc -l`
  38. if [ ${result} -ne 1 ]
  39. then
  40. cat generate_model_serving.log
  41. echo "### generate model for serving test failed ###" && exit 1
  42. clean_pid
  43. fi
  44. rm -rf model
  45. mkdir model
  46. mv *.mindir ${CURRPATH}/model
  47. cp ${MINDSPORE_INSTALL_PATH}/ms_serving ./
  48. }
  49. start_service()
  50. {
  51. echo "### start serving service ###"
  52. ${CURRPATH}/ms_serving --port=$1 --model_path=${MODEL_PATH} --model_name=$2 --device_id=$3 > $2_service.log 2>&1 &
  53. if [ $? -ne 0 ]
  54. then
  55. echo "$2 faile to start."
  56. fi
  57. result=`grep -E -A5 -B5 'MS Serving grpc listening on 0.0.0.0:5500' $2_service.log |
  58. grep -E 'MS Serving restful listening on 0.0.0.0:5501'|wc -l`
  59. count=0
  60. while [[ ${result} -ne 1 && ${count} -lt 150 ]]
  61. do
  62. sleep 1
  63. count=$(($count+1))
  64. result=`grep -E -A5 -B5 'MS Serving grpc listening on 0.0.0.0:5500' $2_service.log |
  65. grep -E 'MS Serving restful listening on 0.0.0.0:5501'|wc -l`
  66. done
  67. if [ ${count} -eq 150 ]
  68. then
  69. clean_pid
  70. cat $2_service.log
  71. echo "start serving service failed!" && exit 1
  72. fi
  73. echo "### start serving service end ###"
  74. }
  75. pytest_serving()
  76. {
  77. unset http_proxy https_proxy
  78. CLIENT_DEVICE_ID=$((${ENV_DEVICE_ID}+1))
  79. export DEVICE_ID=${CLIENT_DEVICE_ID}
  80. local test_client_name=$1
  81. echo "### $1 client start ###"
  82. python3 -m pytest -v -s client_example.py::${test_client_name} > ${test_client_name}_client.log 2>&1
  83. if [ $? -ne 0 ]
  84. then
  85. clean_pid
  86. cat ${test_client_name}_client.log
  87. echo "client $1 faile to start." && exit 1
  88. fi
  89. echo "### $1 client end ###"
  90. }
  91. test_bert_model()
  92. {
  93. start_service 5500 bert.mindir ${ENV_DEVICE_ID}
  94. pytest_serving test_bert
  95. clean_pid
  96. }
  97. echo "-----serving start-----"
  98. rm -rf ms_serving *.log *.mindir *.dat ${CURRPATH}/model ${CURRPATH}/kernel_meta
  99. prepare_model
  100. test_bert_model