|
|
|
@@ -978,6 +978,16 @@ CNodePtr SessionBasic::ConstructOutput(const AnfNodePtrList &outputs, const std: |
|
|
|
bool internal_output = true; |
|
|
|
std::string kernel_target = GetCNodeTarget(front_real_kernel.first); |
|
|
|
for (auto user : users) { |
|
|
|
auto cnode = user.first->cast<CNodePtr>(); |
|
|
|
if (cnode == nullptr) { |
|
|
|
internal_output = false; |
|
|
|
break; |
|
|
|
} |
|
|
|
auto prim = cnode->input(kAnfPrimitiveIndex); |
|
|
|
if (prim == nullptr || !prim->isa<ValueNode>()) { |
|
|
|
internal_output = false; |
|
|
|
break; |
|
|
|
} |
|
|
|
if (!AnfAlgo::IsRealKernel(user.first) || kernel_target != GetCNodeTarget(user.first)) { |
|
|
|
internal_output = false; |
|
|
|
break; |
|
|
|
|