switch 的case下能组网么
Created by: Annnnnnnnnnnnn
为使您的问题得到快速解决,在建立Issues前,请您先通过如下方式搜索是否有相似问题:【搜索issue关键字】【使用labels筛选】【官方文档】
如果您没有查询到相似问题,为快速解决您的提问,建立issue时请提供如下细节信息:
- 标题:简洁、精准概括您的问题
- 版本、环境信息: 1)PaddlePaddle版本:请提供您的PaddlePaddle版本号,例如1.1或CommitID 2)CPU/GPU:如果您使用GPU训练,请提供GPU驱动版本、CUDA和cuDNN版本号 3)系统环境:请您描述系统类型、版本,例如Mac OS 10.14 4)Python版本号 5)显存信息
- 复现信息:如为报错,请给出复现环境、复现步骤
- 问题描述:请详细描述您的问题,同步贴出报错信息、日志/代码关键片段
Thank you for contributing to PaddlePaddle. Before submitting the issue, you could search issue in the github in case that there was a similar issue submitted or resolved before. If there is no solution,please provide us with the following details : System information -PaddlePaddle version (eg.1.1)or CommitID -CPU: including CPUMKL/OpenBlas/MKLDNN version -GPU: including CUDA/cuDNN version -OS Platform and Distribution(eg.Mac OS 10.14) -Python version To Reproduce Steps to reproduce the behavior Describe your current behavior Code to reproduce the issue Other info / logs
版本:paddle1.4 环境:linux
不知switch是否可以如下方式使用
task_ids = fluid.layers.data(name='task_ids', shape=[1], dtype='float32', stop_gradient=False)
base = fluid.layers.fill_constant([1], dtype='float32', value=2.)
cond = fluid.layers.equal(task_ids, base)
param = fluid.layers.create_parameter(shape=[1], dtype="float32")
output = fluid.layers.create_tensor(dtype="float32")
with fluid.layers.Switch() as switch:
with switch.case(cond):
words_b = fluid.layers.exp(task_ids)
words_c = fluid.layers.matmul(words_b, param)
fluid.layers.assign(words_c, output)
with switch.default():
words_b = fluid.layers.square(task_ids)
words_c = fluid.layers.matmul(words_b, param)
fluid.layers.assign(words_c, output)
fluid.layers.Print(output)
c = fluid.layers.mean(output)
optim = fluid.optimizer.Adam(learning_rate=0.1)
optim.minimize(c)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())
for _ in xrange(10):
c_ = exe.run(fluid.default_main_program(),
feed={"task_ids": np.array([4.]).astype(np.float32)},
fetch_list=[c.name])
print c_[0], c_[0].shape
错误如下
1562068009 Tensor[create_tensor_0]
shape: [1,]
dtype: f
data: -9.99984,
Traceback (most recent call last):
File "model.py", line 273, in <module>
fetch_list=[c.name])
File "/home/wanglongfei02/.jumbo/lib/python2.7/site-packages/paddle/fluid/executor.py", line 565, in run
use_program_cache=use_program_cache)
File "/home/wanglongfei02/.jumbo/lib/python2.7/site-packages/paddle/fluid/executor.py", line 642, in _run
exe.run(program.desc, scope, 0, True, True, fetch_var_name)
paddle.fluid.core.EnforceNotMet: Cannot find original variable with name logical_not_0.tmp_0@GRAD at [/paddle/paddle/fluid/framework/scope.cc:177]
PaddlePaddle Call Stacks:
0 0x7f51fb59f640p void paddle::platform::EnforceNotMet::Init<char const*>(char const*, char const*, int) + 352
1 0x7f51fb59f9b9p paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) + 137
2 0x7f51fd27b6dbp paddle::framework::Scope::RenameInternal(std::string const&, std::string const&) const + 651
3 0x7f51fd27b863p paddle::framework::Scope::Rename(std::string const&) const + 99
4 0x7f51fccfb6f3p paddle::operators::ConditionalBlockGradOp::AssignLocalGradientToGlobal(boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&, paddle::framework::Scope const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&) const + 179
5 0x7f51fccfc1c1p paddle::operators::ConditionalBlockGradOp::RunImpl(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) const + 913
6 0x7f51fd22f78cp paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) + 332
7 0x7f51fb7148bep paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool) + 382
8 0x7f51fb7156ffp paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, std::vector<std::string, std::allocator<std::string> > const&, bool) + 143
9 0x7f51fb58f35ep
10 0x7f51fb5d272ep
11 0x7f526de15414p PyEval_EvalFrameEx + 25956
12 0x7f526de16160p PyEval_EvalCodeEx + 2240
13 0x7f526de144d1p PyEval_EvalFrameEx + 22049
14 0x7f526de16160p PyEval_EvalCodeEx + 2240
15 0x7f526de144d1p PyEval_EvalFrameEx + 22049
16 0x7f526de16160p PyEval_EvalCodeEx + 2240
17 0x7f526de16272p PyEval_EvalCode + 50
18 0x7f526de3065cp
19 0x7f526de30730p PyRun_FileExFlags + 144
20 0x7f526de31c3cp PyRun_SimpleFileExFlags + 220
21 0x7f526de434fcp Py_Main + 3164
22 0x38bfc21b45p __libc_start_main + 245
23 0x400699p