Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
703e2c98
X
X2Paddle
项目概览
PaddlePaddle
/
X2Paddle
1 年多 前同步成功
通知
328
Star
698
Fork
167
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
26
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
X2Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
26
Issue
26
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
703e2c98
编写于
4月 24, 2022
作者:
J
Jason
提交者:
GitHub
4月 24, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #777 from PaddlePaddle/fixed_LN_fuser
Fixed LN fuser pass
上级
3431435b
843e4158
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
6 addition
and
6 deletion
+6
-6
x2paddle/optimizer/fusion/onnx_layernorm_fuser.py
x2paddle/optimizer/fusion/onnx_layernorm_fuser.py
+6
-6
未找到文件。
x2paddle/optimizer/fusion/onnx_layernorm_fuser.py
浏览文件 @
703e2c98
...
@@ -56,11 +56,7 @@ class LayerNormFuser(FuseBase):
...
@@ -56,11 +56,7 @@ class LayerNormFuser(FuseBase):
shape
=
[
1
],
shape
=
[
1
],
fill_value
=
0.5
)
fill_value
=
0.5
)
self
.
pattern
.
add_layer
(
self
.
pattern
.
add_layer
(
"paddle.full"
,
"paddle.full"
,
inputs
=
{},
outputs
=
[
gen_name
(
3
)],
shape
=
[
1
])
inputs
=
{},
outputs
=
[
gen_name
(
3
)],
shape
=
[
1
],
fill_value
=
9.999999747378752e-06
)
self
.
pattern
.
add_layer
(
self
.
pattern
.
add_layer
(
"paddle.mean"
,
"paddle.mean"
,
inputs
=
{
"x"
:
"layernorm-input-0"
},
inputs
=
{
"x"
:
"layernorm-input-0"
},
...
@@ -122,6 +118,7 @@ class LayerNormFuser(FuseBase):
...
@@ -122,6 +118,7 @@ class LayerNormFuser(FuseBase):
layer_inputs
=
list
()
layer_inputs
=
list
()
layer_inputs_ids
=
list
()
layer_inputs_ids
=
list
()
param_name
=
list
()
param_name
=
list
()
fill_value_list
=
list
()
for
layer_id
,
layer
in
matches
.
items
():
for
layer_id
,
layer
in
matches
.
items
():
if
layer
.
kernel
==
"paddle.mean"
:
if
layer
.
kernel
==
"paddle.mean"
:
layer_inputs
.
append
(
layer
.
inputs
)
layer_inputs
.
append
(
layer
.
inputs
)
...
@@ -130,6 +127,8 @@ class LayerNormFuser(FuseBase):
...
@@ -130,6 +127,8 @@ class LayerNormFuser(FuseBase):
param_name
.
append
(
layer
.
outputs
[
0
])
param_name
.
append
(
layer
.
outputs
[
0
])
if
layer
.
kernel
==
"paddle.add"
:
if
layer
.
kernel
==
"paddle.add"
:
output_name
=
layer
.
outputs
[
0
]
output_name
=
layer
.
outputs
[
0
]
if
layer
.
kernel
==
"paddle.full"
:
fill_value_list
.
append
(
layer
.
attrs
[
"fill_value"
])
param
=
parameters
[
param_name
[
0
]]
param
=
parameters
[
param_name
[
0
]]
c
=
param
.
shape
[
0
]
c
=
param
.
shape
[
0
]
weight_param
=
parameters
.
pop
(
param_name
[
0
])
weight_param
=
parameters
.
pop
(
param_name
[
0
])
...
@@ -141,5 +140,6 @@ class LayerNormFuser(FuseBase):
...
@@ -141,5 +140,6 @@ class LayerNormFuser(FuseBase):
"paddle.nn.LayerNorm"
,
"paddle.nn.LayerNorm"
,
inputs
=
layer_inputs
[
0
],
inputs
=
layer_inputs
[
0
],
outputs
=
[
output_name
],
outputs
=
[
output_name
],
normalized_shape
=
[
c
])
normalized_shape
=
[
c
],
epsilon
=
fill_value_list
[
-
1
])
return
new_layer
,
layer_inputs_ids
[
0
]
return
new_layer
,
layer_inputs_ids
[
0
]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录