Merge pull request #1903 from SmileGoat/add_demos

[speechx] fix format of custom demos
pull/1907/head
Hui Zhang 2 years ago committed by GitHub
commit 283bbab1c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -7,39 +7,40 @@ In some cases, we need to recognize the specific rare words with high accuracy.
this demo is customized for expense account, which need to recognize rare address. this demo is customized for expense account, which need to recognize rare address.
* G with slot: 打车到 "address_slot"。 * G with slot: 打车到 "address_slot"。
![](https://ai-studio-static-online.cdn.bcebos.com/28d9ef132a7f47a895a65ae9e5c4f55b8f472c9f3dd24be8a2e66e0b88b173a4) ![](https://ai-studio-static-online.cdn.bcebos.com/28d9ef132a7f47a895a65ae9e5c4f55b8f472c9f3dd24be8a2e66e0b88b173a4)
* this is address slot wfst, you can add the address which want to recognize. * this is address slot wfst, you can add the address which want to recognize.
![](https://ai-studio-static-online.cdn.bcebos.com/47c89100ef8c465bac733605ffc53d76abefba33d62f4d818d351f8cea3c8fe2) ![](https://ai-studio-static-online.cdn.bcebos.com/47c89100ef8c465bac733605ffc53d76abefba33d62f4d818d351f8cea3c8fe2)
* after replace operation, G = fstreplace(G_with_slot, address_slot), we will get the customized graph. * after replace operation, G = fstreplace(G_with_slot, address_slot), we will get the customized graph.
![](https://ai-studio-static-online.cdn.bcebos.com/60a3095293044f10b73039ab10c7950d139a6717580a44a3ba878c6e74de402b) ![](https://ai-studio-static-online.cdn.bcebos.com/60a3095293044f10b73039ab10c7950d139a6717580a44a3ba878c6e74de402b)
## Usage ## Usage
### 1. Installation ### 1. Installation
install paddle:2.2.2 docker. install paddle:2.2.2 docker.
``` ```
sudo nvidia-docker pull registry.baidubce.com/paddlepaddle/paddle:2.2.2 sudo docker pull registry.baidubce.com/paddlepaddle/paddle:2.2.2
sudo nvidia-docker run --privileged --net=host --ipc=host -it --rm -v $PWD:/paddle --name=paddle_demo_docker registry.baidubce.com/paddlepaddle/paddle:2.2.2 /bin/bash sudo docker run --privileged --net=host --ipc=host -it --rm -v $PWD:/paddle --name=paddle_demo_docker registry.baidubce.com/paddlepaddle/paddle:2.2.2 /bin/bash
``` ```
### 2. demo ### 2. demo
* run websocket_server.sh. This script will download resources and libs, and launch the service. * run websocket_server.sh. This script will download resources and libs, and launch the service.
``` ```
cd /paddle
bash websocket_server.sh bash websocket_server.sh
``` ```
this script run in two steps: this script run in two steps:
1. download the resources.tar.gz, those direcotries will be found in resource directory. 1. download the resources.tar.gz, those direcotries will be found in resource directory.
model: acustic model model: acustic model
graph: the decoder graph (TLG.fst) graph: the decoder graph (TLG.fst)
lib: some libs lib: some libs
bin: binary bin: binary
data: audio and wav.scp data: audio and wav.scp
2. websocket_server_main launch the service. 2. websocket_server_main launch the service.
some params: some params:
port: the service port port: the service port
graph_path: the decoder graph path graph_path: the decoder graph path
model_path: acustic model path model_path: acustic model path

@ -6,45 +6,45 @@
这个 demo 是打车报销单的场景识别,需要识别一些稀有的地名,可以通过如下操作实现。 这个 demo 是打车报销单的场景识别,需要识别一些稀有的地名,可以通过如下操作实现。
* G with slot: 打车到 "address_slot"。 * G with slot: 打车到 "address_slot"。
![](https://ai-studio-static-online.cdn.bcebos.com/28d9ef132a7f47a895a65ae9e5c4f55b8f472c9f3dd24be8a2e66e0b88b173a4) ![](https://ai-studio-static-online.cdn.bcebos.com/28d9ef132a7f47a895a65ae9e5c4f55b8f472c9f3dd24be8a2e66e0b88b173a4)
* 这是address slot wfst, 可以添加一些需要识别的地名. * 这是address slot wfst, 可以添加一些需要识别的地名.
![](https://ai-studio-static-online.cdn.bcebos.com/47c89100ef8c465bac733605ffc53d76abefba33d62f4d818d351f8cea3c8fe2) ![](https://ai-studio-static-online.cdn.bcebos.com/47c89100ef8c465bac733605ffc53d76abefba33d62f4d818d351f8cea3c8fe2)
* 通过replace 操作, G = fstreplace(G_with_slot, address_slot), 最终可以得到定制化的解码图。 * 通过replace 操作, G = fstreplace(G_with_slot, address_slot), 最终可以得到定制化的解码图。
![](https://ai-studio-static-online.cdn.bcebos.com/60a3095293044f10b73039ab10c7950d139a6717580a44a3ba878c6e74de402b) ![](https://ai-studio-static-online.cdn.bcebos.com/60a3095293044f10b73039ab10c7950d139a6717580a44a3ba878c6e74de402b)
## 使用方法 ## 使用方法
### 1. 配置环境 ### 1. 配置环境
安装paddle:2.2.2 docker镜像。 安装paddle:2.2.2 docker镜像。
``` ```
sudo nvidia-docker pull registry.baidubce.com/paddlepaddle/paddle:2.2.2 sudo docker pull registry.baidubce.com/paddlepaddle/paddle:2.2.2
sudo nvidia-docker run --privileged --net=host --ipc=host -it --rm -v $PWD:/paddle --name=paddle_demo_docker registry.baidubce.com/paddlepaddle/paddle:2.2.2 /bin/bash sudo docker run --privileged --net=host --ipc=host -it --rm -v $PWD:/paddle --name=paddle_demo_docker registry.baidubce.com/paddlepaddle/paddle:2.2.2 /bin/bash
``` ```
### 2. 演示 ### 2. 演示
* 运行如下命令,完成相关资源和库的下载和服务启动。 * 运行如下命令,完成相关资源和库的下载和服务启动。
``` ```
cd /paddle
bash websocket_server.sh bash websocket_server.sh
``` ```
上面脚本完成了如下两个功能: 上面脚本完成了如下两个功能:
1. 完成resource.tar.gz下载解压后,会在resource中发现如下目录 1. 完成resource.tar.gz下载解压后,会在resource中发现如下目录
model: 声学模型 model: 声学模型
graph: 解码构图 graph: 解码构图
lib: 相关库 lib: 相关库
bin: 运行程序 bin: 运行程序
data: 语音数据 data: 语音数据
2. 通过websocket_server_main来启动服务。 2. 通过websocket_server_main来启动服务。
这里简单的介绍几个参数: 这里简单的介绍几个参数:
port是服务端口 port是服务端口
graph_path用来指定解码图文件 graph_path用来指定解码图文件
model相关参数用来指定声学模型文件。 其他参数说明可参见代码:
其他参数说明可参见代码: PaddleSpeech/speechx/speechx/decoder/param.h
PaddleSpeech/speechx/speechx/decoder/param.h PaddleSpeech/speechx/examples/ds2_ol/websocket/websocket_server_main.cc
PaddleSpeech/speechx/examples/ds2_ol/websocket/websocket_server_main.cc
* 在另一个终端中, 通过client发送数据得到结果。运行如下命令 * 在另一个终端中, 通过client发送数据得到结果。运行如下命令
``` ```

Loading…
Cancel
Save