Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
DeepSpeech
提交
6745e9dd
D
DeepSpeech
项目概览
PaddlePaddle
/
DeepSpeech
大约 1 年 前同步成功
通知
206
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,发现更多精彩内容 >>
提交
6745e9dd
编写于
9月 09, 2022
作者:
T
tianhao zhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix dp init
上级
598eb1a5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
38 addition
and
56 deletion
+38
-56
paddlespeech/s2t/models/u2/u2.py
paddlespeech/s2t/models/u2/u2.py
+2
-2
paddlespeech/s2t/modules/attention.py
paddlespeech/s2t/modules/attention.py
+17
-19
paddlespeech/s2t/modules/conformer_convolution.py
paddlespeech/s2t/modules/conformer_convolution.py
+2
-2
paddlespeech/s2t/modules/decoder_layer.py
paddlespeech/s2t/modules/decoder_layer.py
+4
-13
paddlespeech/s2t/modules/encoder.py
paddlespeech/s2t/modules/encoder.py
+5
-9
paddlespeech/s2t/modules/encoder_layer.py
paddlespeech/s2t/modules/encoder_layer.py
+7
-9
paddlespeech/server/engine/asr/online/python/asr_engine.py
paddlespeech/server/engine/asr/online/python/asr_engine.py
+1
-2
未找到文件。
paddlespeech/s2t/models/u2/u2.py
浏览文件 @
6745e9dd
...
...
@@ -605,8 +605,8 @@ class U2BaseModel(ASRInterface, nn.Layer):
xs
:
paddle
.
Tensor
,
offset
:
int
,
required_cache_size
:
int
,
att_cache
:
paddle
.
Tensor
,
# paddle.zeros([0, 0, 0, 0])
cnn_cache
:
paddle
.
Tensor
,
#
paddle.zeros([0, 0, 0, 0])
att_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
]),
cnn_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
,
paddle
.
Tensor
]:
""" Export interface for c++ call, give input chunk xs, and return
output from time 0 to current chunk.
...
...
paddlespeech/s2t/modules/attention.py
浏览文件 @
6745e9dd
...
...
@@ -86,7 +86,7 @@ class MultiHeadedAttention(nn.Layer):
self
,
value
:
paddle
.
Tensor
,
scores
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
,
#
paddle.ones([0, 0, 0], dtype=paddle.bool)
mask
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
)
)
->
paddle
.
Tensor
:
"""Compute attention context vector.
Args:
...
...
@@ -127,15 +127,14 @@ class MultiHeadedAttention(nn.Layer):
return
self
.
linear_out
(
x
)
# (batch, time1, d_model)
def
forward
(
self
,
query
:
paddle
.
Tensor
,
key
:
paddle
.
Tensor
,
value
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
,
# paddle.ones([0,0,0], dtype=paddle.bool)
pos_emb
:
paddle
.
Tensor
,
# paddle.empty([0])
cache
:
paddle
.
Tensor
# paddle.zeros([0,0,0,0])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
]:
def
forward
(
self
,
query
:
paddle
.
Tensor
,
key
:
paddle
.
Tensor
,
value
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
),
pos_emb
:
paddle
.
Tensor
=
paddle
.
empty
([
0
]),
cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
]:
"""Compute scaled dot product attention.
Args:
query (paddle.Tensor): Query tensor (#batch, time1, size).
...
...
@@ -244,15 +243,14 @@ class RelPositionMultiHeadedAttention(MultiHeadedAttention):
return
x
def
forward
(
self
,
query
:
paddle
.
Tensor
,
key
:
paddle
.
Tensor
,
value
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
,
# paddle.ones([0,0,0], dtype=paddle.bool)
pos_emb
:
paddle
.
Tensor
,
# paddle.empty([0])
cache
:
paddle
.
Tensor
# paddle.zeros([0,0,0,0])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
]:
def
forward
(
self
,
query
:
paddle
.
Tensor
,
key
:
paddle
.
Tensor
,
value
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
),
pos_emb
:
paddle
.
Tensor
=
paddle
.
empty
([
0
]),
cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
]:
"""Compute 'Scaled Dot Product Attention' with rel. positional encoding.
Args:
query (paddle.Tensor): Query tensor (#batch, time1, size).
...
...
paddlespeech/s2t/modules/conformer_convolution.py
浏览文件 @
6745e9dd
...
...
@@ -108,8 +108,8 @@ class ConvolutionModule(nn.Layer):
def
forward
(
self
,
x
:
paddle
.
Tensor
,
mask_pad
:
paddle
.
Tensor
,
# paddle.ones([0,0,0], dtype=paddle.bool)
cache
:
paddle
.
Tensor
# paddle.zeros([0,0,0,
0])
mask_pad
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
),
cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
]:
"""Compute convolution module.
Args:
...
...
paddlespeech/s2t/modules/decoder_layer.py
浏览文件 @
6745e9dd
...
...
@@ -121,16 +121,11 @@ class DecoderLayer(nn.Layer):
if
self
.
concat_after
:
tgt_concat
=
paddle
.
cat
(
(
tgt_q
,
self
.
self_attn
(
tgt_q
,
tgt
,
tgt
,
tgt_q_mask
,
paddle
.
empty
([
0
]),
paddle
.
zeros
([
0
,
0
,
0
,
0
]))[
0
]),
dim
=-
1
)
(
tgt_q
,
self
.
self_attn
(
tgt_q
,
tgt
,
tgt
,
tgt_q_mask
)[
0
]),
dim
=-
1
)
x
=
residual
+
self
.
concat_linear1
(
tgt_concat
)
else
:
x
=
residual
+
self
.
dropout
(
self
.
self_attn
(
tgt_q
,
tgt
,
tgt
,
tgt_q_mask
,
paddle
.
empty
([
0
]),
paddle
.
zeros
([
0
,
0
,
0
,
0
]))[
0
])
self
.
self_attn
(
tgt_q
,
tgt
,
tgt
,
tgt_q_mask
)[
0
])
if
not
self
.
normalize_before
:
x
=
self
.
norm1
(
x
)
...
...
@@ -139,15 +134,11 @@ class DecoderLayer(nn.Layer):
x
=
self
.
norm2
(
x
)
if
self
.
concat_after
:
x_concat
=
paddle
.
cat
(
(
x
,
self
.
src_attn
(
x
,
memory
,
memory
,
memory_mask
,
paddle
.
empty
([
0
]),
paddle
.
zeros
([
0
,
0
,
0
,
0
]))[
0
]),
dim
=-
1
)
(
x
,
self
.
src_attn
(
x
,
memory
,
memory
,
memory_mask
)[
0
]),
dim
=-
1
)
x
=
residual
+
self
.
concat_linear2
(
x_concat
)
else
:
x
=
residual
+
self
.
dropout
(
self
.
src_attn
(
x
,
memory
,
memory
,
memory_mask
,
paddle
.
empty
([
0
]),
paddle
.
zeros
([
0
,
0
,
0
,
0
]))[
0
])
self
.
src_attn
(
x
,
memory
,
memory
,
memory_mask
)[
0
])
if
not
self
.
normalize_before
:
x
=
self
.
norm2
(
x
)
...
...
paddlespeech/s2t/modules/encoder.py
浏览文件 @
6745e9dd
...
...
@@ -175,9 +175,7 @@ class BaseEncoder(nn.Layer):
decoding_chunk_size
,
self
.
static_chunk_size
,
num_decoding_left_chunks
)
for
layer
in
self
.
encoders
:
xs
,
chunk_masks
,
_
,
_
=
layer
(
xs
,
chunk_masks
,
pos_emb
,
mask_pad
,
paddle
.
zeros
([
0
,
0
,
0
,
0
]),
paddle
.
zeros
([
0
,
0
,
0
,
0
]))
xs
,
chunk_masks
,
_
,
_
=
layer
(
xs
,
chunk_masks
,
pos_emb
,
mask_pad
)
if
self
.
normalize_before
:
xs
=
self
.
after_norm
(
xs
)
# Here we assume the mask is not changed in encoder layers, so just
...
...
@@ -190,9 +188,9 @@ class BaseEncoder(nn.Layer):
xs
:
paddle
.
Tensor
,
offset
:
int
,
required_cache_size
:
int
,
att_cache
:
paddle
.
Tensor
,
# paddle.zeros([0,0,0,0])
cnn_cache
:
paddle
.
Tensor
,
# paddle.zeros([0,0,0,
0]),
att_mask
:
paddle
.
Tensor
,
# paddle.ones([0,0,
0], dtype=paddle.bool)
att_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
]),
cnn_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
]),
att_mask
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
)
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
,
paddle
.
Tensor
]:
""" Forward just one chunk
Args:
...
...
@@ -255,7 +253,6 @@ class BaseEncoder(nn.Layer):
xs
,
att_mask
,
pos_emb
,
mask_pad
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
),
att_cache
=
att_cache
[
i
:
i
+
1
]
if
elayers
>
0
else
att_cache
,
cnn_cache
=
cnn_cache
[
i
:
i
+
1
]
if
paddle
.
shape
(
cnn_cache
)[
0
]
>
0
else
cnn_cache
,
)
...
...
@@ -328,8 +325,7 @@ class BaseEncoder(nn.Layer):
chunk_xs
=
xs
[:,
cur
:
end
,
:]
(
y
,
att_cache
,
cnn_cache
)
=
self
.
forward_chunk
(
chunk_xs
,
offset
,
required_cache_size
,
att_cache
,
cnn_cache
,
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
))
chunk_xs
,
offset
,
required_cache_size
,
att_cache
,
cnn_cache
)
outputs
.
append
(
y
)
offset
+=
y
.
shape
[
1
]
...
...
paddlespeech/s2t/modules/encoder_layer.py
浏览文件 @
6745e9dd
...
...
@@ -76,10 +76,9 @@ class TransformerEncoderLayer(nn.Layer):
x
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
,
pos_emb
:
paddle
.
Tensor
,
mask_pad
:
paddle
.
Tensor
,
# paddle.ones([0, 0, 0], dtype=paddle.bool)
att_cache
:
paddle
.
Tensor
,
# paddle.zeros([0, 0, 0, 0])
cnn_cache
:
paddle
.
Tensor
,
# paddle.zeros([0, 0, 0, 0])
mask_pad
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
),
att_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
]),
cnn_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
,
paddle
.
Tensor
,
paddle
.
Tensor
]:
"""Compute encoded features.
Args:
...
...
@@ -106,8 +105,7 @@ class TransformerEncoderLayer(nn.Layer):
if
self
.
normalize_before
:
x
=
self
.
norm1
(
x
)
x_att
,
new_att_cache
=
self
.
self_attn
(
x
,
x
,
x
,
mask
,
paddle
.
empty
([
0
]),
cache
=
att_cache
)
x_att
,
new_att_cache
=
self
.
self_attn
(
x
,
x
,
x
,
mask
,
cache
=
att_cache
)
if
self
.
concat_after
:
x_concat
=
paddle
.
concat
((
x
,
x_att
),
axis
=-
1
)
...
...
@@ -195,9 +193,9 @@ class ConformerEncoderLayer(nn.Layer):
x
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
,
pos_emb
:
paddle
.
Tensor
,
mask_pad
:
paddle
.
Tensor
,
#paddle.ones([0, 0, 0],dtype=paddle.bool)
att_cache
:
paddle
.
Tensor
,
# paddle.zeros([0, 0, 0, 0])
cnn_cache
:
paddle
.
Tensor
,
#
paddle.zeros([0, 0, 0, 0])
mask_pad
:
paddle
.
Tensor
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
),
att_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
]),
cnn_cache
:
paddle
.
Tensor
=
paddle
.
zeros
([
0
,
0
,
0
,
0
])
)
->
Tuple
[
paddle
.
Tensor
,
paddle
.
Tensor
,
paddle
.
Tensor
,
paddle
.
Tensor
]:
"""Compute encoded features.
Args:
...
...
paddlespeech/server/engine/asr/online/python/asr_engine.py
浏览文件 @
6745e9dd
...
...
@@ -480,8 +480,7 @@ class PaddleASRConnectionHanddler:
self
.
offset
,
required_cache_size
,
att_cache
=
self
.
att_cache
,
cnn_cache
=
self
.
cnn_cache
,
att_mask
=
paddle
.
ones
([
0
,
0
,
0
],
dtype
=
paddle
.
bool
))
cnn_cache
=
self
.
cnn_cache
)
outputs
.
append
(
y
)
# update the global offset, in decoding frame unit
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录