Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
ea6a251c
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
ea6a251c
编写于
4月 07, 2020
作者:
Z
zhongpu
提交者:
GitHub
4月 07, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix sample code, test=develop (#23448)
上级
25628587
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
4 deletion
+6
-4
python/paddle/fluid/dygraph/layers.py
python/paddle/fluid/dygraph/layers.py
+6
-4
未找到文件。
python/paddle/fluid/dygraph/layers.py
浏览文件 @
ea6a251c
...
@@ -122,6 +122,7 @@ class Layer(core.Layer):
...
@@ -122,6 +122,7 @@ class Layer(core.Layer):
.. code-block:: python
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid as fluid
import numpy as np
# the forward_post_hook change the output of the layer: output = output * 2
# the forward_post_hook change the output of the layer: output = output * 2
def forward_post_hook(layer, input, output):
def forward_post_hook(layer, input, output):
...
@@ -136,15 +137,15 @@ class Layer(core.Layer):
...
@@ -136,15 +137,15 @@ class Layer(core.Layer):
# register the hook
# register the hook
forward_post_hook_handle = linear.register_forward_post_hook(forward_post_hook)
forward_post_hook_handle = linear.register_forward_post_hook(forward_post_hook)
value = np.arange(26).reshape(2, 13).astype("float32")
value
1
= np.arange(26).reshape(2, 13).astype("float32")
in
= fluid.dygraph.to_variable(value0
)
in
1 = fluid.dygraph.to_variable(value1
)
out0 = linear(in)
out0 = linear(in
1
)
# remove the hook
# remove the hook
forward_post_hook_handle.remove()
forward_post_hook_handle.remove()
out1 = linear(in)
out1 = linear(in
1
)
# hook change the linear's output to output * 2, so out0 is equal to out1 * 2.
# hook change the linear's output to output * 2, so out0 is equal to out1 * 2.
assert (out0.numpy() == (out1.numpy()) * 2).any()
assert (out0.numpy() == (out1.numpy()) * 2).any()
...
@@ -173,6 +174,7 @@ class Layer(core.Layer):
...
@@ -173,6 +174,7 @@ class Layer(core.Layer):
.. code-block:: python
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid as fluid
import numpy as np
# the forward_post_hook change the input of the layer: input = input * 2
# the forward_post_hook change the input of the layer: input = input * 2
def forward_pre_hook(layer, input):
def forward_pre_hook(layer, input):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录