提交 72d1d72c 编写于 作者: Z zhongpu 提交者: Jiabin Yang

fix ExecutionContext::HasInput and ExecutionContext::HasOutput depend on the...

fix ExecutionContext::HasInput and ExecutionContext::HasOutput depend on the scope structure, test=develop (#20721)
上级 483d0512
...@@ -417,34 +417,12 @@ Tensor* GetMutableLoDTensorOrSelectedRowsValueFromVar(Variable* var) { ...@@ -417,34 +417,12 @@ Tensor* GetMutableLoDTensorOrSelectedRowsValueFromVar(Variable* var) {
} }
bool ExecutionContext::HasInput(const std::string& name) const { bool ExecutionContext::HasInput(const std::string& name) const {
if (!op_.HasInputs(name)) { auto* var = InputVar(name);
return false;
}
auto& ins = Inputs(name);
size_t length = ins.size();
if (length == 0) {
return false;
}
PADDLE_ENFORCE_EQ(length, 1UL,
"Input %s should not have more than one inputs", name);
auto arg = ins[0];
auto* var = arg == kEmptyVarName ? nullptr : scope_.FindVar(arg);
return var != nullptr; return var != nullptr;
} }
bool ExecutionContext::HasOutput(const std::string& name) const { bool ExecutionContext::HasOutput(const std::string& name) const {
if (!op_.HasOutputs(name)) { auto* var = OutputVar(name);
return false;
}
auto& outs = Outputs(name);
size_t length = outs.size();
if (length == 0) {
return false;
}
PADDLE_ENFORCE_EQ(length, 1UL,
"Output %s should not have more than one inputs", name);
auto arg = outs[0];
auto* var = arg == kEmptyVarName ? nullptr : scope_.FindVar(arg);
return var != nullptr; return var != nullptr;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册