From a3a63bd51e10365241adb058443edd421ba25762 Mon Sep 17 00:00:00 2001
From: season <season4675@gmail.com>
Date: 星期日, 02 七月 2023 22:16:53 +0800
Subject: [PATCH] [funasr-runtime-deploy 0.0.4] bug fix (#698)
---
funasr/runtime/deploy_tools/funasr-runtime-deploy-offline-cpu-zh.sh | 178 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 115 insertions(+), 63 deletions(-)
diff --git a/funasr/runtime/deploy_tools/funasr-runtime-deploy-offline-cpu-zh.sh b/funasr/runtime/deploy_tools/funasr-runtime-deploy-offline-cpu-zh.sh
index ad655c0..97e327c 100644
--- a/funasr/runtime/deploy_tools/funasr-runtime-deploy-offline-cpu-zh.sh
+++ b/funasr/runtime/deploy_tools/funasr-runtime-deploy-offline-cpu-zh.sh
@@ -804,67 +804,67 @@
echo -e "${UNDERLINE}${BOLD}[5/5]${PLAIN}"
echo -e " ${YELLOW}Construct command and run docker ...${PLAIN}"
- RUN_CMD="sudo docker run"
- PORT_MAP=" -p ${PARAMS_HOST_PORT}:${PARAMS_DOCKER_PORT}"
- DIR_PARAMS=" --privileged=true"
- DIR_MAP_PARAMS=""
+ run_cmd="sudo docker run"
+ port_map=" -p ${PARAMS_HOST_PORT}:${PARAMS_DOCKER_PORT}"
+ dir_params=" --privileged=true"
+ dir_map_params=""
if [ ! -z "$PARAMS_LOCAL_ASR_DIR" ]; then
- if [ -z "$DIR_MAP_PARAMS" ]; then
- DIR_MAP_PARAMS="${DIR_PARAMS} -v ${PARAMS_LOCAL_ASR_DIR}:${PARAMS_DOCKER_ASR_DIR}"
+ if [ -z "$dir_map_params" ]; then
+ dir_map_params="${dir_params} -v ${PARAMS_LOCAL_ASR_DIR}:${PARAMS_DOCKER_ASR_DIR}"
else
- DIR_MAP_PARAMS="${DIR_MAP_PARAMS} -v ${PARAMS_LOCAL_ASR_DIR}:${PARAMS_DOCKER_ASR_DIR}"
+ dir_map_params="${dir_map_params} -v ${PARAMS_LOCAL_ASR_DIR}:${PARAMS_DOCKER_ASR_DIR}"
fi
fi
if [ ! -z "$PARAMS_LOCAL_VAD_DIR" ]; then
- if [ -z "$DIR_MAP_PARAMS" ]; then
- DIR_MAP_PARAMS="${DIR_PARAMS} -v ${PARAMS_LOCAL_VAD_DIR}:${PARAMS_DOCKER_VAD_DIR}"
+ if [ -z "$dir_map_params" ]; then
+ dir_map_params="${dir_params} -v ${PARAMS_LOCAL_VAD_DIR}:${PARAMS_DOCKER_VAD_DIR}"
else
- DIR_MAP_PARAMS="${DIR_MAP_PARAMS} -v ${PARAMS_LOCAL_VAD_DIR}:${PARAMS_DOCKER_VAD_DIR}"
+ dir_map_params="${dir_map_params} -v ${PARAMS_LOCAL_VAD_DIR}:${PARAMS_DOCKER_VAD_DIR}"
fi
fi
if [ ! -z "$PARAMS_LOCAL_PUNC_DIR" ]; then
- if [ -z "$DIR_MAP_PARAMS" ]; then
- DIR_MAP_PARAMS="${DIR_PARAMS} -v ${PARAMS_LOCAL_PUNC_DIR}:${PARAMS_DOCKER_PUNC_DIR}"
+ if [ -z "$dir_map_params" ]; then
+ dir_map_params="${dir_params} -v ${PARAMS_LOCAL_PUNC_DIR}:${PARAMS_DOCKER_PUNC_DIR}"
else
- DIR_MAP_PARAMS="${DIR_MAP_PARAMS} -v ${PARAMS_LOCAL_VAD_DIR}:${PARAMS_DOCKER_VAD_DIR}"
+ dir_map_params="${dir_map_params} -v ${PARAMS_LOCAL_VAD_DIR}:${PARAMS_DOCKER_VAD_DIR}"
fi
fi
- EXEC_PARAMS="\"exec\":\"${PARAMS_DOCKER_EXEC_PATH}\""
+ exec_params="\"exec\":\"${PARAMS_DOCKER_EXEC_PATH}\""
if [ ! -z "$PARAMS_ASR_ID" ]; then
- ASR_PARAMS="\"--model-dir\":\"${PARAMS_ASR_ID}\""
+ asr_params="\"--model-dir\":\"${PARAMS_ASR_ID}\""
else
- ASR_PARAMS="\"--model-dir\":\"${PARAMS_DOCKER_ASR_PATH}\""
+ asr_params="\"--model-dir\":\"${PARAMS_DOCKER_ASR_PATH}\""
fi
if [ ! -z "$PARAMS_VAD_ID" ]; then
- VAD_PARAMS="\"--vad-dir\":\"${PARAMS_VAD_ID}\""
+ vad_params="\"--vad-dir\":\"${PARAMS_VAD_ID}\""
else
- VAD_PARAMS="\"--vad-dir\":\"${PARAMS_DOCKER_VAD_PATH}\""
+ vad_params="\"--vad-dir\":\"${PARAMS_DOCKER_VAD_PATH}\""
fi
if [ ! -z "$PARAMS_PUNC_ID" ]; then
- PUNC_PARAMS="\"--punc-dir\":\"${PARAMS_PUNC_ID}\""
+ punc_params="\"--punc-dir\":\"${PARAMS_PUNC_ID}\""
else
- PUNC_PARAMS="\"--punc-dir\":\"${PARAMS_DOCKER_PUNC_PATH}\""
+ punc_params="\"--punc-dir\":\"${PARAMS_DOCKER_PUNC_PATH}\""
fi
- DOWNLOAD_PARARMS="\"--download-model-dir\":\"${PARAMS_DOWNLOAD_MODEL_DIR}\""
+ download_params="\"--download-model-dir\":\"${PARAMS_DOWNLOAD_MODEL_DIR}\""
if [ -z "$PARAMS_DOWNLOAD_MODEL_DIR" ]; then
- MODEL_PARAMS="${ASR_PARAMS},${VAD_PARAMS},${PUNC_PARAMS}"
+ model_params="${asr_params},${vad_params},${punc_params}"
else
- MODEL_PARAMS="${ASR_PARAMS},${VAD_PARAMS},${PUNC_PARAMS},${DOWNLOAD_PARARMS}"
+ model_params="${asr_params},${vad_params},${punc_params},${download_params}"
fi
- DECODER_PARAMS="\"--decoder-thread-num\":\"${PARAMS_DECODER_THREAD_NUM}\""
- IO_PARAMS="\"--io-thread-num\":\"${PARAMS_IO_THREAD_NUM}\""
- THREAD_PARAMS=${DECODER_PARAMS},${IO_PARAMS}
- PORT_PARAMS="\"--port\":\"${PARAMS_DOCKER_PORT}\""
- CRT_PATH="\"--certfile\":\"/workspace/FunASR/funasr/runtime/ssl_key/server.crt\""
- KEY_PATH="\"--keyfile\":\"/workspace/FunASR/funasr/runtime/ssl_key/server.key\""
+ decoder_params="\"--decoder-thread-num\":\"${PARAMS_DECODER_THREAD_NUM}\""
+ io_params="\"--io-thread-num\":\"${PARAMS_IO_THREAD_NUM}\""
+ thread_params=${decoder_params},${io_params}
+ port_params="\"--port\":\"${PARAMS_DOCKER_PORT}\""
+ crt_path="\"--certfile\":\"/workspace/FunASR/funasr/runtime/ssl_key/server.crt\""
+ key_path="\"--keyfile\":\"/workspace/FunASR/funasr/runtime/ssl_key/server.key\""
- ENV_PARAMS=" -v ${DEFAULT_FUNASR_CONFIG_DIR}:/workspace/.config"
- ENV_PARAMS=" ${ENV_PARAMS} --env DAEMON_SERVER_CONFIG={\"server\":[{${EXEC_PARAMS},${MODEL_PARAMS},${THREAD_PARAMS},${PORT_PARAMS},${CRT_PATH},${KEY_PATH}}]}"
+ env_params=" -v ${DEFAULT_FUNASR_CONFIG_DIR}:/workspace/.config"
+ env_params=" ${env_params} --env DAEMON_SERVER_CONFIG={\"server\":[{${exec_params},${model_params},${thread_params},${port_params},${crt_path},${key_path}}]}"
- RUN_CMD="${RUN_CMD}${PORT_MAP}${DIR_MAP_PARAMS}${ENV_PARAMS}"
- RUN_CMD="${RUN_CMD} -it -d ${PARAMS_DOCKER_IMAGE}"
+ run_cmd="${run_cmd}${port_map}${dir_map_params}${env_params}"
+ run_cmd="${run_cmd} -it -d ${PARAMS_DOCKER_IMAGE}"
# check Docker
checkDockerExist
@@ -877,7 +877,7 @@
rm -f ${DEFAULT_FUNASR_PROGRESS_TXT}
rm -f ${DEFAULT_FUNASR_SERVER_LOG}
- $RUN_CMD
+ $run_cmd
echo
echo -e " ${YELLOW}Loading models:${PLAIN}"
@@ -913,23 +913,75 @@
echo -e " ${GREEN}The service has been started.${PLAIN}"
echo
- downloadSamples
+ deploySamples
echo -e " ${BOLD}The sample code is already stored in the ${PLAIN}(${GREEN}${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}${PLAIN}) ."
echo -e " ${BOLD}If you want to see an example of how to use the client, you can run ${PLAIN}${GREEN}sudo bash funasr-runtime-deploy-offline-cpu-zh.sh client${PLAIN} ."
echo
}
-downloadSamples(){
- if [ ! -d $PARAMS_FUNASR_SAMPLES_LOCAL_DIR ]; then
- echo -e "${YELLOW}Downloading samples to $PARAMS_FUNASR_LOCAL_WORKSPACE ...${PLAIN}"
+installPythonDependencyForPython(){
+ echo -e "${YELLOW}Install Python dependent environments ...${PLAIN}"
- DOWNLOAD_CMD="curl ${DEFAULT_SAMPLES_URL} -o ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH}"
- UNTAR_CMD="tar -zxf ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH} -C ${PARAMS_FUNASR_LOCAL_WORKSPACE}"
+ echo -e " Export dependency of Cpp sample."
+ pre_cmd="export LD_LIBRARY_PATH=${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/cpp/libs:\$LD_LIBRARY_PATH"
+ $pre_cmd
+ echo
+
+ echo -e " Install requirements of Python sample."
+ pre_cmd="pip3 install click>=8.0.4"
+ $pre_cmd
+ echo
+
+ pre_cmd="pip3 install -r ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python/requirements_client.txt"
+ echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
+ $pre_cmd
+ echo
+
+ lowercase_osid=$(echo ${OSID} | tr '[A-Z]' '[a-z]')
+ case "$lowercase_osid" in
+ ubuntu)
+ pre_cmd="sudo apt-get install -y ffmpeg"
+ ;;
+ centos)
+ pre_cmd="sudo yum install -y ffmpeg"
+ ;;
+ debian)
+ pre_cmd="sudo apt-get install -y ffmpeg"
+ ;;
+ \"alios\")
+ pre_cmd="sudo yum install -y ffmpeg"
+ ;;
+ \"alinux\")
+ pre_cmd="sudo yum install -y ffmpeg"
+ ;;
+ *)
+ echo -e " ${RED}$lowercase_osid is not supported.${PLAIN}"
+ ;;
+ esac
+ echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
+ echo
+
+ pre_cmd="pip3 install ffmpeg-python"
+ echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
+ $pre_cmd
+ echo
+}
+
+deploySamples(){
+ if [ ! -d $PARAMS_FUNASR_SAMPLES_LOCAL_DIR ]; then
+ echo -e "${YELLOW}Downloading samples to${PLAIN} ${CYAN}${PARAMS_FUNASR_LOCAL_WORKSPACE}${PLAIN} ${YELLOW}...${PLAIN}"
+
+ download_cmd="curl ${DEFAULT_SAMPLES_URL} -o ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH}"
+ untar_cmd="tar -zxf ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH} -C ${PARAMS_FUNASR_LOCAL_WORKSPACE}"
if [ ! -f "$PARAMS_FUNASR_SAMPLES_LOCAL_PATH" ]; then
- $DOWNLOAD_CMD
+ $download_cmd
fi
- $UNTAR_CMD
+ $untar_cmd
+ echo
+
+ installPythonDependencyForPython
+ echo
fi
}
@@ -1064,14 +1116,14 @@
sampleClientRun(){
echo -e "${YELLOW}Will download sample tools for the client to show how speech recognition works.${PLAIN}"
- DOWNLOAD_CMD="curl ${DEFAULT_SAMPLES_URL} -o ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH}"
- UNTAR_CMD="tar -zxf ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH} ${PARAMS_FUNASR_LOCAL_WORKSPACE}"
+ download_cmd="curl ${DEFAULT_SAMPLES_URL} -o ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH}"
+ untar_cmd="tar -zxf ${PARAMS_FUNASR_SAMPLES_LOCAL_PATH} -C ${PARAMS_FUNASR_LOCAL_WORKSPACE}"
if [ ! -f "$PARAMS_FUNASR_SAMPLES_LOCAL_PATH" ]; then
- $DOWNLOAD_CMD
+ $download_cmd
fi
if [ -f "$PARAMS_FUNASR_SAMPLES_LOCAL_PATH" ]; then
- $UNTAR_CMD
+ $untar_cmd
fi
if [ -d "$PARAMS_FUNASR_SAMPLES_LOCAL_DIR" ]; then
echo -e " Please select the client you want to run."
@@ -1109,26 +1161,26 @@
fi
echo
- PRE_CMD=鈥濃��
+ pre_cmd=鈥濃��
case "$lang" in
Linux_Cpp)
- PRE_CMD="export LD_LIBRARY_PATH=${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/cpp/libs:\$LD_LIBRARY_PATH"
- CLIENT_EXEC="${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/cpp/funasr-wss-client"
- RUN_CMD="${CLIENT_EXEC} --server-ip ${server_ip} --port ${host_port} --wav-path ${wav_path}"
- echo -e " Run ${BLUE}${PRE_CMD}${PLAIN}"
- $PRE_CMD
+ pre_cmd="export LD_LIBRARY_PATH=${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/cpp/libs:\$LD_LIBRARY_PATH"
+ client_exec="${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/cpp/funasr-wss-client"
+ run_cmd="${client_exec} --server-ip ${server_ip} --port ${host_port} --wav-path ${wav_path}"
+ echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
+ $pre_cmd
echo
;;
Python)
- CLIENT_EXEC="${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python/wss_client_asr.py"
- RUN_CMD="python3 ${CLIENT_EXEC} --host ${server_ip} --port ${host_port} --mode offline --audio_in ${wav_path} --send_without_sleep --output_dir ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python"
- PRE_CMD="pip3 install click>=8.0.4"
- echo -e " Run ${BLUE}${PRE_CMD}${PLAIN}"
- $PRE_CMD
+ client_exec="${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python/wss_client_asr.py"
+ run_cmd="python3 ${client_exec} --host ${server_ip} --port ${host_port} --mode offline --audio_in ${wav_path} --send_without_sleep --output_dir ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python"
+ pre_cmd="pip3 install click>=8.0.4"
+ echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
+ $pre_cmd
echo
- PRE_CMD="pip3 install -r ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python/requirements_client.txt"
- echo -e " Run ${BLUE}${PRE_CMD}${PLAIN}"
- $PRE_CMD
+ pre_cmd="pip3 install -r ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python/requirements_client.txt"
+ echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
+ $pre_cmd
echo
;;
*)
@@ -1136,10 +1188,10 @@
;;
esac
- echo -e " Run ${BLUE}${RUN_CMD}${PLAIN}"
- $RUN_CMD
+ echo -e " Run ${BLUE}${run_cmd}${PLAIN}"
+ $run_cmd
echo
- echo -e " If failed, you can try (${GREEN}${RUN_CMD}${PLAIN}) in your Shell."
+ echo -e " If failed, you can try (${GREEN}${run_cmd}${PLAIN}) in your Shell."
echo
fi
}
--
Gitblit v1.9.1