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.

add_mul_process.sh 4.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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)" || exit; 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. export LD_LIBRARY_PATH=${MINDSPORE_INSTALL_PATH}/lib:${LD_LIBRARY_PATH}
  15. #export PYTHONPATH=${MINDSPORE_INSTALL_PATH}/:${PYTHONPATH}
  16. echo "LD_LIBRARY_PATH: " ${LD_LIBRARY_PATH}
  17. echo "PYTHONPATH: " ${PYTHONPATH}
  18. echo "-------------show MINDSPORE_INSTALL_PATH----------------"
  19. ls -l ${MINDSPORE_INSTALL_PATH}
  20. echo "------------------show /usr/lib64/----------------------"
  21. ls -l /usr/local/python/python375/lib/
  22. clean_master_pid()
  23. {
  24. ps aux | grep 'master.py' | grep ${CURRUSER} | grep -v grep
  25. if [ $? -eq 0 ]
  26. then
  27. ps aux | grep 'master.py' | grep ${CURRUSER} | grep -v grep | awk '{print $2}' | xargs kill -15
  28. if [ $? -ne 0 ]
  29. then
  30. echo "clean master pip failed"
  31. fi
  32. sleep 6
  33. ps aux | grep 'master.py' | grep ${CURRUSER} | grep -v grep
  34. if [ $? -eq 0 ]
  35. then
  36. ps aux | grep 'master.py' | grep ${CURRUSER} | grep -v grep | awk '{print $2}' | xargs kill -9
  37. echo "### master pid exist, clean master pip failed ###" & exit 1
  38. fi
  39. ps aux | grep 'worker.py' | grep ${CURRUSER} | grep -v grep
  40. if [ $? -eq 0 ]
  41. then
  42. ps aux | grep 'worker.py' | grep ${CURRUSER} | grep -v grep | awk '{print $2}' | xargs kill -9
  43. echo "### master pid is killed but worker pid exist ###" & exit 1
  44. fi
  45. fi
  46. }
  47. clean_worker_pid()
  48. {
  49. ps aux | grep 'worker.py' | grep ${CURRUSER} | grep -v grep
  50. if [ $? -eq 0 ]
  51. then
  52. ps aux | grep 'worker.py' | grep ${CURRUSER} | grep -v grep | awk '{print $2}' | xargs kill -9
  53. if [ $? -eq 0 ]
  54. then
  55. echo "clean work pid failed"
  56. fi
  57. fi
  58. }
  59. prepare_model()
  60. {
  61. echo "### begin to generate mode for serving test ###"
  62. cd export_model
  63. python3 add_model.py &> add_model.log
  64. echo "### end to generate mode for serving test ###"
  65. result=`find . -name tensor_add.mindir | wc -l`
  66. if [ ${result} -ne 1 ]
  67. then
  68. cat add_model.log
  69. echo "### generate model for serving test failed ###" && exit 1
  70. clean_master_pid
  71. clean_worker_pid
  72. cd -
  73. fi
  74. cd -
  75. }
  76. start_service()
  77. {
  78. echo "### start serving service ###"
  79. unset http_proxy https_proxy
  80. python3 master.py > start_master.log 2>&1 &
  81. if [ $? -ne 0 ]
  82. then
  83. echo "master server failed to start." && exit 1
  84. fi
  85. result=`grep -E 'Serving gRPC server start success, listening on 127.0.0.1:5500' start_master.log | wc -l`
  86. count=0
  87. while [[ ${result} -ne 1 && ${count} -lt 150 ]]
  88. do
  89. sleep 1
  90. count=$(($count+1))
  91. result=`grep -E 'Serving gRPC server start success, listening on 127.0.0.1:5500' start_master.log | wc -l`
  92. done
  93. if [ ${count} -eq 150 ]
  94. then
  95. clean_master_pid
  96. cat service.log
  97. echo "start serving service failed!" && exit 1
  98. fi
  99. echo "### start serving service end ###"
  100. python3 worker.py > start_worker.log 2>&1 &
  101. if [ $? -ne 0 ]
  102. then
  103. echo "worker server failed to start." && exit 1
  104. fi
  105. result=`grep -E 'gRPC server start success, listening on 127.0.0.1:6600' start_worker.log | wc -l`
  106. count=0
  107. while [[ ${result} -ne 1 && ${count} -lt 150 ]]
  108. do
  109. sleep 1
  110. count=$(($count+1))
  111. result=`grep -E 'gRPC server start success, listening on 127.0.0.1:6600' start_worker.log | wc -l`
  112. done
  113. if [ ${count} -eq 150 ]
  114. then
  115. clean_master_pid
  116. clean_worker_pid
  117. cat start_worker.log
  118. echo "start worker service failed!" && exit 1
  119. fi
  120. echo "### start worker service end ###"
  121. }
  122. pytest_serving()
  123. {
  124. unset http_proxy https_proxy
  125. echo "### client start ###"
  126. python3 client_mul_process.py > client_mul_process.log 2>&1
  127. if [ $? -ne 0 ]
  128. then
  129. clean_master_pid
  130. clean_worker_pid
  131. cat client_mul_process.log
  132. echo "client failed to start." && exit 1
  133. fi
  134. echo "### client end ###"
  135. }
  136. test_add_model()
  137. {
  138. start_service
  139. pytest_serving
  140. cat client_mul_process.log
  141. clean_master_pid
  142. clean_worker_pid
  143. }
  144. echo "-----serving start-----"
  145. rm -rf serving *.log *.mindir *.dat ${CURRPATH}/add ${CURRPATH}/kernel_meta
  146. rm -rf add client.py client_mul_process.py export_model master.py worker.py master_with_worker.py
  147. cp -r ../../../example/add/* .
  148. prepare_model
  149. test_add_model

A lightweight and high-performance service module that helps MindSpore developers efficiently deploy online inference services in the production environment.