Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
DeepSpeech
提交
294b7b00
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,发现更多精彩内容 >>
提交
294b7b00
编写于
7月 18, 2022
作者:
0
0x45f
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Supprot dy2st for conformer
上级
e8184927
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
9 deletion
+16
-9
paddlespeech/s2t/__init__.py
paddlespeech/s2t/__init__.py
+14
-7
paddlespeech/s2t/modules/encoder.py
paddlespeech/s2t/modules/encoder.py
+2
-2
未找到文件。
paddlespeech/s2t/__init__.py
浏览文件 @
294b7b00
...
...
@@ -159,9 +159,7 @@ if not hasattr(paddle.Tensor, 'new_full'):
def
eq
(
xs
:
paddle
.
Tensor
,
ys
:
Union
[
paddle
.
Tensor
,
float
])
->
paddle
.
Tensor
:
if
convert_dtype_to_string
(
xs
.
dtype
)
==
paddle
.
bool
:
xs
=
xs
.
astype
(
paddle
.
int
)
return
xs
.
equal
(
paddle
.
to_tensor
(
ys
,
dtype
=
convert_dtype_to_string
(
xs
.
dtype
),
place
=
xs
.
place
))
return
xs
.
equal
(
ys
)
if
not
hasattr
(
paddle
.
Tensor
,
'eq'
):
...
...
@@ -219,13 +217,22 @@ def is_broadcastable(shp1, shp2):
return
True
def
broadcast_shape
(
shp1
,
shp2
):
result
=
[]
for
a
,
b
in
zip
(
shp1
[::
-
1
],
shp2
[::
-
1
]):
result
.
append
(
max
(
a
,
b
))
return
result
[::
-
1
]
def
masked_fill
(
xs
:
paddle
.
Tensor
,
mask
:
paddle
.
Tensor
,
value
:
Union
[
float
,
int
]):
assert
is_broadcastable
(
xs
.
shape
,
mask
.
shape
)
is
True
,
(
xs
.
shape
,
mask
.
shape
)
bshape
=
paddle
.
broadcast_shape
(
xs
.
shape
,
mask
.
shape
)
mask
=
mask
.
broadcast_to
(
bshape
)
bshape
=
broadcast_shape
(
xs
.
shape
,
mask
.
shape
)
mask
.
stop_gradient
=
True
tmp
=
paddle
.
ones
(
shape
=
[
len
(
bshape
)],
dtype
=
'int32'
)
for
index
in
range
(
len
(
bshape
)):
tmp
[
index
]
=
bshape
[
index
]
mask
=
mask
.
broadcast_to
(
tmp
)
trues
=
paddle
.
ones_like
(
xs
)
*
value
xs
=
paddle
.
where
(
mask
,
trues
,
xs
)
return
xs
...
...
paddlespeech/s2t/modules/encoder.py
浏览文件 @
294b7b00
...
...
@@ -253,8 +253,8 @@ class BaseEncoder(nn.Layer):
# cnn_cache[i] = (B=1, hidden-dim, cache_t2)
xs
,
_
,
new_att_cache
,
new_cnn_cache
=
layer
(
xs
,
att_mask
,
pos_emb
,
att_cache
=
att_cache
[
i
:
i
+
1
]
if
elayers
>
0
else
att_cache
,
cnn_cache
=
cnn_cache
[
i
]
if
paddle
.
shape
(
cnn_cache
)[
0
]
>
0
else
cnn_cache
,
att_cache
=
att_cache
if
elayers
==
0
else
att_cache
[
i
:
i
+
1
]
,
cnn_cache
=
cnn_cache
if
paddle
.
shape
(
cnn_cache
)[
0
]
==
0
else
cnn_cache
[
i
]
,
)
# new_att_cache = (1, head, attention_key_size, d_k*2)
# new_cnn_cache = (B=1, hidden-dim, cache_t2)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录