From 39b6701ba96b6e0b890f1fcdd5f3397a3a6f491f Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期四, 14 三月 2024 09:59:11 +0800
Subject: [PATCH] add SwitchArg for wss-server
---
runtime/websocket/bin/funasr-wss-server.cpp | 5 ++++-
runtime/websocket/bin/websocket-server.cpp | 4 ++--
runtime/websocket/bin/websocket-server.h | 2 +-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/runtime/websocket/bin/funasr-wss-server.cpp b/runtime/websocket/bin/funasr-wss-server.cpp
index bff4f66..48ef454 100644
--- a/runtime/websocket/bin/funasr-wss-server.cpp
+++ b/runtime/websocket/bin/funasr-wss-server.cpp
@@ -121,6 +121,7 @@
false, "/workspace/resources/hotwords.txt", "string");
TCLAP::ValueArg<std::int32_t> fst_inc_wts("", FST_INC_WTS,
"the fst hotwords incremental bias", false, 20, "int32_t");
+ TCLAP::SwitchArg use_gpu("", USE_GPU, "Whether to use GPU, default is false", false);
// add file
cmd.add(hotword);
@@ -151,6 +152,7 @@
cmd.add(io_thread_num);
cmd.add(decoder_thread_num);
cmd.add(model_thread_num);
+ cmd.add(use_gpu);
cmd.parse(argc, argv);
std::map<std::string, std::string> model_path;
@@ -173,6 +175,7 @@
global_beam_ = global_beam.getValue();
lattice_beam_ = lattice_beam.getValue();
am_scale_ = am_scale.getValue();
+ bool use_gpu_ = use_gpu.getValue();
// Download model form Modelscope
try{
@@ -468,7 +471,7 @@
WebSocketServer websocket_srv(
io_decoder, is_ssl, server, wss_server, s_certfile,
s_keyfile); // websocket server for asr engine
- websocket_srv.initAsr(model_path, s_model_thread_num); // init asr model
+ websocket_srv.initAsr(model_path, s_model_thread_num, use_gpu_); // init asr model
LOG(INFO) << "decoder-thread-num: " << s_decoder_thread_num;
LOG(INFO) << "io-thread-num: " << s_io_thread_num;
diff --git a/runtime/websocket/bin/websocket-server.cpp b/runtime/websocket/bin/websocket-server.cpp
index ed25c95..20c5625 100644
--- a/runtime/websocket/bin/websocket-server.cpp
+++ b/runtime/websocket/bin/websocket-server.cpp
@@ -402,11 +402,11 @@
// init asr model
void WebSocketServer::initAsr(std::map<std::string, std::string>& model_path,
- int thread_num) {
+ int thread_num, bool use_gpu) {
try {
// init model with api
- asr_handle = FunOfflineInit(model_path, thread_num);
+ asr_handle = FunOfflineInit(model_path, thread_num, use_gpu);
LOG(INFO) << "model successfully inited";
LOG(INFO) << "initAsr run check_and_clean_connection";
diff --git a/runtime/websocket/bin/websocket-server.h b/runtime/websocket/bin/websocket-server.h
index d18bcab..f2f244e 100644
--- a/runtime/websocket/bin/websocket-server.h
+++ b/runtime/websocket/bin/websocket-server.h
@@ -124,7 +124,7 @@
std::string wav_format,
FUNASR_DEC_HANDLE& decoder_handle);
- void initAsr(std::map<std::string, std::string>& model_path, int thread_num);
+ void initAsr(std::map<std::string, std::string>& model_path, int thread_num, bool use_gpu=false);
void on_message(websocketpp::connection_hdl hdl, message_ptr msg);
void on_open(websocketpp::connection_hdl hdl);
void on_close(websocketpp::connection_hdl hdl);
--
Gitblit v1.9.1