Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
DeepSpeech
提交
b1ef4349
D
DeepSpeech
项目概览
PaddlePaddle
/
DeepSpeech
大约 1 年 前同步成功
通知
207
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b1ef4349
编写于
5月 17, 2022
作者:
X
xiongxinlei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update the max len compute method, test=doc
上级
0ea39f83
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
7 deletion
+16
-7
paddlespeech/cli/asr/infer.py
paddlespeech/cli/asr/infer.py
+15
-6
paddlespeech/s2t/modules/encoder.py
paddlespeech/s2t/modules/encoder.py
+1
-1
未找到文件。
paddlespeech/cli/asr/infer.py
浏览文件 @
b1ef4349
...
...
@@ -187,13 +187,7 @@ class ASRExecutor(BaseExecutor):
vocab
=
self
.
config
.
vocab_filepath
,
spm_model_prefix
=
self
.
config
.
spm_model_prefix
)
self
.
config
.
decode
.
decoding_method
=
decode_method
self
.
max_len
=
5000
if
self
.
config
.
encoder_conf
.
get
(
"max_len"
,
None
):
self
.
max_len
=
self
.
config
.
encoder_conf
.
max_len
logger
.
info
(
f
"max len:
{
self
.
max_len
}
"
)
# we assumen that the subsample rate is 4 and every frame step is 40ms
self
.
max_len
=
40
*
self
.
max_len
/
1000
else
:
raise
Exception
(
"wrong type"
)
model_name
=
model_type
[:
model_type
.
rindex
(
...
...
@@ -208,6 +202,21 @@ class ASRExecutor(BaseExecutor):
model_dict
=
paddle
.
load
(
self
.
ckpt_path
)
self
.
model
.
set_state_dict
(
model_dict
)
# compute the max len limit
if
"conformer"
in
model_type
or
"transformer"
in
model_type
or
"wenetspeech"
in
model_type
:
# in transformer like model, we may use the subsample rate cnn network
subsample_rate
=
self
.
model
.
subsampling_rate
()
frame_shift_ms
=
self
.
config
.
preprocess_config
.
process
[
0
][
'n_shift'
]
/
self
.
config
.
preprocess_config
.
process
[
0
][
'fs'
]
max_len
=
self
.
model
.
encoder
.
embed
.
pos_enc
.
max_len
if
self
.
config
.
encoder_conf
.
get
(
"max_len"
,
None
):
max_len
=
self
.
config
.
encoder_conf
.
max_len
self
.
max_len
=
frame_shift_ms
*
max_len
*
subsample_rate
logger
.
info
(
f
"The asr server limit max duration len:
{
self
.
max_len
}
"
)
def
preprocess
(
self
,
model_type
:
str
,
input
:
Union
[
str
,
os
.
PathLike
]):
"""
Input preprocess and return paddle.Tensor stored in self.input.
...
...
paddlespeech/s2t/modules/encoder.py
浏览文件 @
b1ef4349
...
...
@@ -332,7 +332,7 @@ class BaseEncoder(nn.Layer):
# fake mask, just for jit script and compatibility with `forward` api
masks
=
paddle
.
ones
([
1
,
ys
.
shape
[
1
]],
dtype
=
paddle
.
bool
)
masks
=
masks
.
unsqueeze
(
1
)
return
ys
,
masks
,
offset
return
ys
,
masks
class
TransformerEncoder
(
BaseEncoder
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录