首页 Paddle框架 帖子详情
无法实现在构建网络时取出 create_global_var 的值参与 loss 计算
收藏
快速回复
Paddle框架 问答深度学习 620 1
无法实现在构建网络时取出 create_global_var 的值参与 loss 计算
收藏
快速回复
Paddle框架 问答深度学习 620 1

paddlepaddle 1.5.1 版本

loss 类 init 时,使用 fluid.layers.tensor.create_global_var 创建一个var 变量,
image

然后在构建 loss 时, 希望取出 var 的值var_val , 计算loss ,其中涉及到 fluid.layers.cast(x=(target> var_val), dtype='float32') 的操作, 但是这个时候是在构建网络, 还没有执行到 run(fluid.default_startup_program()) 无法使用 fluid.global_scope().find_var(var_name).get_tensor() 取出 var 的值 , 见 #18270

那么要怎么实现这样的操作呢?

0
收藏
回复
全部评论(1)
时间顺序
AIStudio784472
#2 回复于2019-12

静态图中,在run之前,是没有办法取到Tensor的实际值的。使用动态图的话,可以知道实际值。
经了解,您的模型中有条件判断,如果要进行条件判断,可以使用paddle的控制流。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户