Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
DeepSpeech
提交
957f2e3a
D
DeepSpeech
项目概览
PaddlePaddle
/
DeepSpeech
大约 2 年 前同步成功
通知
210
Star
8425
Fork
1598
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
245
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DeepSpeech
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
245
Issue
245
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
957f2e3a
编写于
12月 02, 2021
作者:
H
huangyuxin
浏览文件
操作
浏览文件
下载
差异文件
revise
上级
aee530af
a19e51d7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
16 deletion
+36
-16
paddlespeech/cli/asr/infer.py
paddlespeech/cli/asr/infer.py
+4
-5
paddlespeech/cli/executor.py
paddlespeech/cli/executor.py
+32
-11
未找到文件。
paddlespeech/cli/asr/infer.py
浏览文件 @
957f2e3a
...
...
@@ -119,8 +119,8 @@ class ASRExecutor(BaseExecutor):
lang
:
str
=
'zh'
,
sample_rate
:
int
=
16000
,
cfg_path
:
Optional
[
os
.
PathLike
]
=
None
,
ckpt_path
:
Optional
[
os
.
PathLike
]
=
None
,
device
:
str
=
'cpu'
):
ckpt_path
:
Optional
[
os
.
PathLike
]
=
None
):
"""
Init model and other resources from a specific path.
"""
...
...
@@ -142,7 +142,6 @@ class ASRExecutor(BaseExecutor):
os
.
path
.
dirname
(
os
.
path
.
abspath
(
self
.
cfg_path
)))
#Init body.
paddle
.
set_device
(
device
)
self
.
config
=
CfgNode
(
new_allowed
=
True
)
self
.
config
.
merge_from_file
(
self
.
cfg_path
)
self
.
config
.
decoding
.
decoding_method
=
"attention_rescoring"
...
...
@@ -397,8 +396,8 @@ class ASRExecutor(BaseExecutor):
"""
audio_file
=
os
.
path
.
abspath
(
audio_file
)
self
.
_check
(
audio_file
,
sample_rate
)
self
.
_init_from_path
(
model
,
lang
,
sample_rate
,
config
,
ckpt_path
,
device
)
paddle
.
set_device
(
device
)
self
.
_init_from_path
(
model
,
lang
,
sample_rate
,
config
,
ckpt_path
)
self
.
preprocess
(
model
,
audio_file
)
self
.
infer
(
model
)
res
=
self
.
postprocess
()
# Retrieve result of asr.
...
...
paddlespeech/cli/executor.py
浏览文件 @
957f2e3a
...
...
@@ -14,6 +14,7 @@
import
os
from
abc
import
ABC
from
abc
import
abstractmethod
from
typing
import
Any
from
typing
import
List
from
typing
import
Union
...
...
@@ -32,50 +33,70 @@ class BaseExecutor(ABC):
@
abstractmethod
def
_get_pretrained_path
(
self
,
tag
:
str
)
->
os
.
PathLike
:
"""
Download and returns pretrained resources path of current task.
Download and returns pretrained resources path of current task.
Args:
tag (str): A tag of pretrained model.
Returns:
os.PathLike: The path on which resources of pretrained model locate.
"""
pass
@
abstractmethod
def
_init_from_path
(
self
,
*
args
,
**
kwargs
):
"""
Init model and other resources from a specific path
.
Init model and other resources from arguments. This method should be called by `__call__()`
.
"""
pass
@
abstractmethod
def
preprocess
(
self
,
input
:
Union
[
str
,
os
.
PathLike
]
):
def
preprocess
(
self
,
input
:
Any
,
*
args
,
**
kwargs
):
"""
Input preprocess and return paddle.Tensor stored in self.input.
Input content can be a text(tts), a file(asr, cls) or a streaming(not supported yet).
Input preprocess and return paddle.Tensor stored in self._inputs.
Input content can be a text(tts), a file(asr, cls), a stream(not supported yet) or anything needed.
Args:
input (Any): Input text/file/stream or other content.
"""
pass
@
paddle
.
no_grad
()
@
abstractmethod
def
infer
(
self
,
device
:
str
):
def
infer
(
self
,
*
args
,
**
kwargs
):
"""
Model inference and result stored in self.output.
Model inference and put results into self._outputs.
This method get input tensors from self._inputs, and write output tensors into self._outputs.
"""
pass
@
abstractmethod
def
postprocess
(
self
)
->
Union
[
str
,
os
.
PathLike
]:
def
postprocess
(
self
,
*
args
,
**
kwargs
)
->
Union
[
str
,
os
.
PathLike
]:
"""
Output postprocess and return human-readable results such as texts and audio files.
Output postprocess and return results.
This method get model output from self._outputs and convert it into human-readable results.
Returns:
Union[str, os.PathLike]: Human-readable results such as texts and audio files.
"""
pass
@
abstractmethod
def
execute
(
self
,
argv
:
List
[
str
])
->
bool
:
"""
Command line entry.
Command line entry. This method can only be accessed by a command line such as `paddlespeech asr`.
Args:
argv (List[str]): Arguments from command line.
Returns:
int: Result of the command execution. `True` for a success and `False` for a failure.
"""
pass
@
abstractmethod
def
__call__
(
self
,
*
arg
,
**
kwargs
):
"""
Python API to call an executor.
Python API to call an executor.
"""
pass
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录