Browse Source

!8637 summary when task sink and iter_num >1 provide error message:The Summary operator can not collect data correctly

From: @jjfeing
Reviewed-by: @zh_qh,@kingxian,@ouwenchang
Signed-off-by: @kingxian
tags/v1.1.0
mindspore-ci-bot Gitee 5 years ago
parent
commit
b45f913353
4 changed files with 9 additions and 0 deletions
  1. +2
    -0
      mindspore/ccsrc/backend/session/ascend_session.cc
  2. +1
    -0
      mindspore/ccsrc/backend/session/ascend_session.h
  3. +5
    -0
      mindspore/ccsrc/backend/session/session_basic.cc
  4. +1
    -0
      mindspore/ccsrc/backend/session/session_basic.h

+ 2
- 0
mindspore/ccsrc/backend/session/ascend_session.cc View File

@@ -335,6 +335,8 @@ void AscendSession::CompileChildGraph(const KernelGraphPtr &child_graph) {
runtime_instance->AssignStaticMemoryValueNode(child_graph.get());
}

bool AscendSession::IsSupportSummary() { return !device::KernelAdjust::NeedInsertSwitch(); }

void AscendSession::RunGraphImpl(const GraphId &graph_id, const std::vector<tensor::TensorPtr> &inputs,
VectorRef *const outputs) {
MS_LOG(INFO) << "Start";


+ 1
- 0
mindspore/ccsrc/backend/session/ascend_session.h View File

@@ -48,6 +48,7 @@ class AscendSession : public SessionBasic {
GraphId CompileGraphImpl(const AnfNodePtrList &lst, const AnfNodePtrList &outputs) override;
GraphId CompileGraphImpl(NotNull<FuncGraphPtr> func_graph) override;
GraphId CompileGraphImpl(NotNull<FuncGraphPtr> func_graph, const std::vector<tensor::TensorPtr> &inputs) override;
bool IsSupportSummary() override;
void RunGraphImpl(const GraphId &graph_id, const std::vector<tensor::TensorPtr> &inputs, VectorRef *outputs) override;
void BuildGraphImpl(GraphId) override;
void BuildOpImpl(const OpRunInfo &op_run_info, const GraphInfo &graph_info,


+ 5
- 0
mindspore/ccsrc/backend/session/session_basic.cc View File

@@ -1167,6 +1167,11 @@ void SessionBasic::Summary(KernelGraph *graph) {
if (!exist_summary) {
return;
}

if (!IsSupportSummary()) {
MS_LOG(ERROR) << "The Summary operator can not collect data correctly. Detail: the data sink mode is used and the"
" sink size(in model.train() python api) is not equal to 1.";
}
SetSummaryNodes(graph);
auto summary_outputs = graph->summary_nodes();
std::map<std::string, tensor::TensorPtr> params_list;


+ 1
- 0
mindspore/ccsrc/backend/session/session_basic.h View File

@@ -135,6 +135,7 @@ class SessionBasic : public std::enable_shared_from_this<SessionBasic> {
friend class RunGraphTask;
friend class BuildOpTask;
friend class RunOpTask;
virtual bool IsSupportSummary() { return true; }
virtual void CreateOutputTensors(const GraphId &graph_id, const std::vector<tensor::TensorPtr> &input_tensors,
VectorRef *outputs,
std::map<tensor::TensorPtr, session::KernelWithIndex> *tensor_to_node);


Loading…
Cancel
Save