Mozilla DeepSpeech服务器

deepspeech-server的Python项目详细描述


https://travis-ci.org/MainRo/deepspeech-server.svg?branch=masterhttps://badge.fury.io/py/deepspeech-server.svg

主要功能

这是一个http服务器,可用于测试mozilla deepspeech项目。 您需要一个具有deepspeech的环境和一个运行此服务器的模型。

安装

你首先需要安装DeepSpeech。根据您的系统,您可以使用 CPU包:

pip3 install deepspeech

或GPU包:

pip3 install deepspeech-gpu

然后您可以安装DeepSpeech服务器:

python3 setup.py install

pypi上也提供了服务器,因此您可以使用pip:

pip3 install deepspeech-server

请注意,Python3.5是运行服务器所需的最低版本。

启动服务器

deepspeech-server --config config.json

你可以使用deepspeech,而不必亲自训练模特。预先训练 Mozilla在项目的发布页面中提供了模型(请参见 发行版的资产部分不):

https://github.com/mozilla/DeepSpeech/releases

一旦你下载了一个预先训练过的模型,你就可以解开它并直接使用 配置文件示例:

cp config.sample.json config.json
deepspeech-server --config config.json

服务器配置

配置是通过json文件完成的,该文件带有“–config”参数。 其结构如下:

{"deepspeech":{"model":"models/output_graph.pb","alphabet":"models/alphabet.txt","lm":"models/lm.binary","trie":"models/trie","features":{"n_features":26,"n_context":9,"beam_width":500,"lm_alpha":0.75,"lm_beta":1.85}},"server":{"http":{"host":"0.0.0.0","port":8080,"request_max_size":1048576}},"log":{"level":[{"logger":"deepspeech_server","level":"DEBUG"}]}}

配置文件包含多个部分和子部分。

深度语音部分配置

“DeepSpeech”部分包含DeepSpeech引擎的配置:

model是由deepspeech生成的protobuf模型

alphabet是字母字典(在 深度演讲来源)。

lm是语言模型。

trie是trie文件。

features包含用于训练 模型。此字段可以设置为空以保留默认设置。

“服务器”部分包含访问部分的配置,每个协议的on部分:

http节配置

1(最大值为1048576),即最大负载。 服务器允许的大小。接收到的负载大小超过此阈值将 返回“413:请求实体太大”错误。

host(默认值:“0.0.0.0”)是http服务器的侦听地址。

port(默认值:8080)是http服务器的侦听端口。

日志段配置

日志部分可用于设置服务器的日志级别。本节 包含日志项列表。每个日志条目都包含logger的名称 以及它的级别。两者都遵循python日志模块的约定。

使用服务器

通过http post请求对模型进行推理。例如 以下curl命令:

curl -X POST --data-binary @testfile.wav http://localhost:8080/stt

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用