diff --git a/mindspore/lite/src/lite_mindrt.cc b/mindspore/lite/src/lite_mindrt.cc index c8c3450430c..028f7270714 100644 --- a/mindspore/lite/src/lite_mindrt.cc +++ b/mindspore/lite/src/lite_mindrt.cc @@ -103,6 +103,9 @@ void LiteOpActor::IsolateInputData(std::vector> *ac Tensor *new_tensor = new Tensor(new_data_type, old_tensor->shape(), old_tensor->format(), old_tensor->category()); new_tensor->set_allocator(old_tensor->allocator()); /* GPU use opencl allocator */ + if (new_tensor->allocator() == nullptr && kernel_->subgraph_type() == kernel::kCpuFP16SubGraph) { + new_tensor->set_allocator(kernel_->Context()->allocator); + } new_tensor->set_tensor_name(kernel_->name() + "_duplicate_" + old_tensor->tensor_name()); for (QuantArg quant : old_tensor->quant_params()) { new_tensor->AddQuantParam(quant); diff --git a/mindspore/lite/tools/converter/anf_transform.cc b/mindspore/lite/tools/converter/anf_transform.cc index 33b46522dbf..86852c636b0 100644 --- a/mindspore/lite/tools/converter/anf_transform.cc +++ b/mindspore/lite/tools/converter/anf_transform.cc @@ -260,7 +260,6 @@ void AnfTransform::GetFuncGraphs(const FuncGraphPtr &func_graph, std::setinputs()) { if (!IsValueNode(input)) { continue; @@ -273,6 +272,7 @@ void AnfTransform::GetFuncGraphs(const FuncGraphPtr &func_graph, std::setGetOrderedCnodes(); to_process.insert(to_process.end(), new_nodes.begin(), new_nodes.end()); } + to_process.pop_front(); } }