add SwitchArg for wss-server

This commit is contained in:
雾聪 2024-03-14 09:59:11 +08:00
parent dfe3c15235
commit 39b6701ba9
3 changed files with 7 additions and 4 deletions

View File

@ -121,6 +121,7 @@ int main(int argc, char* argv[]) {
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 @@ int main(int argc, char* argv[]) {
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 @@ int main(int argc, char* argv[]) {
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 @@ int main(int argc, char* argv[]) {
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;

View File

@ -402,11 +402,11 @@ void WebSocketServer::on_message(websocketpp::connection_hdl hdl,
// 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";

View File

@ -124,7 +124,7 @@ class WebSocketServer {
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);