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.2 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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #!/bin/bash
  2. export GLOG_v=1
  3. export DEVICE_ID=1
  4. MINDSPORE_INSTALL_PATH=$1
  5. CURRPATH=$(cd $(dirname $0); pwd)
  6. CURRUSER=$(whoami)
  7. PROJECT_PATH=${CURRPATH}/../../../
  8. ENV_DEVICE_ID=$DEVICE_ID
  9. echo "MINDSPORE_INSTALL_PATH:" ${MINDSPORE_INSTALL_PATH}
  10. echo "CURRPATH:" ${CURRPATH}
  11. echo "CURRUSER:" ${CURRUSER}
  12. echo "PROJECT_PATH:" ${PROJECT_PATH}
  13. echo "ENV_DEVICE_ID:" ${ENV_DEVICE_ID}
  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 2 ]
  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. ${CURRPATH}/ms_serving --port=$1 --model_path=${MODEL_PATH} --model_name=$2 --device_id=$3 > $2_service.log 2>&1 &
  52. if [ $? -ne 0 ]
  53. then
  54. echo "$2 faile to start."
  55. fi
  56. result=`grep -E -A5 'MS Serving grpc listening on 0.0.0.0:5500' $2_service.log |
  57. grep -E 'MS Serving restful listening on 0.0.0.0:5501'|wc -l`
  58. count=0
  59. while [[ ${result} -ne 1 && ${count} -lt 150 ]]
  60. do
  61. sleep 1
  62. count=$(($count+1))
  63. result=`grep -E -A5 'MS Serving grpc listening on 0.0.0.0:5500' $2_service.log |
  64. grep -E 'MS Serving restful listening on 0.0.0.0:5501'|wc -l`
  65. done
  66. if [ ${count} -eq 150 ]
  67. then
  68. clean_pid
  69. cat $2_service.log
  70. echo "start serving service failed!" && exit 1
  71. fi
  72. echo "### start serving service end ###"
  73. }
  74. pytest_serving()
  75. {
  76. unset http_proxy https_proxy
  77. CLIENT_DEVICE_ID=$((${ENV_DEVICE_ID}+1))
  78. export DEVICE_ID=${CLIENT_DEVICE_ID}
  79. local test_client_name=$1
  80. echo "### $1 client start ###"
  81. python3 -m pytest -v -s client_example.py::${test_client_name} > ${test_client_name}_client.log 2>&1
  82. if [ $? -ne 0 ]
  83. then
  84. clean_pid
  85. cat ${test_client_name}_client.log
  86. echo "client $1 faile to start." && exit 1
  87. fi
  88. echo "### $1 client end ###"
  89. }
  90. test_add_model()
  91. {
  92. start_service 5500 add.mindir ${ENV_DEVICE_ID}
  93. pytest_serving test_add
  94. clean_pid
  95. }
  96. test_bert_model()
  97. {
  98. start_service 5500 bert.mindir ${ENV_DEVICE_ID}
  99. pytest_serving test_bert
  100. clean_pid
  101. }
  102. echo "-----serving start-----"
  103. rm -rf ms_serving *.log *.mindir *.dat ${CURRPATH}/model ${CURRPATH}/kernel_meta
  104. prepare_model
  105. test_add_model
  106. test_bert_model