diff --git a/mindspore/ccsrc/runtime/device/kernel_runtime.cc b/mindspore/ccsrc/runtime/device/kernel_runtime.cc index 4e5eaaae3bec4895d412195baea3bc08accb38d6..e89f9bf8e6881f8b1130173bd7cb6493ac604d31 100644 --- a/mindspore/ccsrc/runtime/device/kernel_runtime.cc +++ b/mindspore/ccsrc/runtime/device/kernel_runtime.cc @@ -339,8 +339,13 @@ void KernelRuntime::RunOpAssignOutputNodeMemory(const ValuePtr &pre_output_value for (size_t i = 0; i < output_nodes.size(); ++i) { auto output_node_with_index = AnfAlgo::VisitKernel(output_nodes[i], 0); if (!output_node_with_index.first->isa()) { - MS_LOG(EXCEPTION) << "The output node should be a cnode , but it is " - << output_node_with_index.first->DebugString(); + if (output_node_with_index.first->isa()) { + auto param = output_node_with_index.first->cast(); + if (!param->has_default()) { + MS_LOG(EXCEPTION) << "The output parameter should be real parameter!"; + } + } + continue; } auto real_output_cnode = output_node_with_index.first->cast(); MS_EXCEPTION_IF_NULL(real_output_cnode);