make trace source lines more accurate

This commit is contained in:
yuchaojie 2021-11-23 20:51:32 +08:00
parent 249fcbf812
commit c3eea22ab4
4 changed files with 15 additions and 15 deletions

View File

@ -44,7 +44,7 @@ CNodePtr DereluFusion::CreateReluV2(const FuncGraphPtr &graph, const CNodePtr &r
constexpr auto kMaskShapeSize = 4;
auto prim = std::make_shared<Primitive>(kReluV2OpName);
std::vector<AnfNodePtr> inputs = {NewValueNode(prim), relu->input(kIndex1)};
auto new_node = NewCNode(inputs, graph);
auto new_node = opt::NewCNode(inputs, graph, {relu});
MS_EXCEPTION_IF_NULL(new_node);
new_node->set_scope(relu->scope());
@ -88,7 +88,7 @@ CNodePtr DereluFusion::CreateReluGradV2(const FuncGraphPtr &graph, const CNodePt
auto prim = std::make_shared<Primitive>(kReluGradV2OpName);
std::vector<AnfNodePtr> inputs = {NewValueNode(prim), relu_grad->input(1), second_input};
auto new_node = NewCNode(inputs, graph);
auto new_node = opt::NewCNode(inputs, graph, {relu_grad});
MS_EXCEPTION_IF_NULL(new_node);
new_node->set_scope(relu_grad->scope());
new_node->set_abstract(relu_grad->abstract());

View File

@ -158,7 +158,7 @@ CNodePtr CreateDropoutGenMaskCNode(const FuncGraphPtr &func_graph, const CNodePt
dropout_gen_mask_inputs.push_back(shape_value);
dropout_gen_mask_inputs.push_back(keep_prob_value);
}
CNodePtr dropout_gen_mask = NewCNode(dropout_gen_mask_inputs, func_graph);
CNodePtr dropout_gen_mask = opt::NewCNode(dropout_gen_mask_inputs, func_graph, {dropout});
MS_EXCEPTION_IF_NULL(dropout_gen_mask);
std::shared_ptr<abstract::AbstractTensor> gen_mask_abstract;
@ -242,7 +242,7 @@ const AnfNodePtr DropoutAndDropoutGradUnifyMindIR::Process(const FuncGraphPtr &f
std::vector<AnfNodePtr> dropout_do_mask1_inputs{
NewValueNode(std::make_shared<Primitive>(kDropoutDoMaskOpName)), dropout_input, dropout_gen_mask,
keep_prob_value};
dropout_do_mask1 = NewCNode(dropout_do_mask1_inputs, func_graph);
dropout_do_mask1 = opt::NewCNode(dropout_do_mask1_inputs, func_graph, {dropout_node});
MS_EXCEPTION_IF_NULL(dropout_do_mask1);
auto do_mask_abstract1 =
std::make_shared<abstract::AbstractTensor>(TypeIdToType(inputx_type_id), input_shape);
@ -262,7 +262,7 @@ const AnfNodePtr DropoutAndDropoutGradUnifyMindIR::Process(const FuncGraphPtr &f
auto dropout_grad_input = utils::cast<AnfNodePtr>((*equiv)[grad_input_]);
std::vector<AnfNodePtr> dropout_do_mask_inputs{NewValueNode(std::make_shared<Primitive>(kDropoutDoMaskOpName)),
dropout_grad_input, dropout_gen_mask, keep_prob_value};
auto dropout_do_mask = NewCNode(dropout_do_mask_inputs, func_graph);
auto dropout_do_mask = opt::NewCNode(dropout_do_mask_inputs, func_graph, {node});
MS_EXCEPTION_IF_NULL(dropout_do_mask);
auto do_mask_abstract = std::make_shared<abstract::AbstractTensor>(TypeIdToType(inputx_type_id), input_shape);
dropout_do_mask->set_abstract(do_mask_abstract);

View File

@ -54,7 +54,7 @@ CNodePtr MaxPool2MaxPoolWithArgmax::CreateMaxPoolWithArgmax(const FuncGraphPtr &
}
std::vector<AnfNodePtr> maxpool_argmax_inputs = {NewValueNode(std::make_shared<Primitive>(kMaxPoolWithArgmaxOpName)),
maxpool->input(kIndex1)};
auto maxpool_argmax = NewCNode(maxpool_argmax_inputs, graph);
auto maxpool_argmax = opt::NewCNode(maxpool_argmax_inputs, graph, {maxpool});
MS_EXCEPTION_IF_NULL(maxpool_argmax);
maxpool_argmax->set_scope(maxpool->scope());
@ -81,7 +81,7 @@ CNodePtr MaxPool2MaxPoolWithArgmax::CreateMaxPoolGradWithArgmax(
std::vector<AnfNodePtr> maxpool_grad_argmax_inputs = {
NewValueNode(std::make_shared<Primitive>(kMaxPoolGradWithArgmaxOpName)), maxpool_grad->input(kIndex1),
maxpool_grad->input(kIndex3), maxpool_argmax_outputs[kIndex1]};
auto maxpool_grad_argmax = NewCNode(maxpool_grad_argmax_inputs, graph);
auto maxpool_grad_argmax = opt::NewCNode(maxpool_grad_argmax_inputs, graph, {maxpool_grad});
MS_EXCEPTION_IF_NULL(maxpool_grad_argmax);
maxpool_grad_argmax->set_scope(maxpool_grad->scope());
maxpool_grad_argmax->set_abstract(maxpool_grad->abstract());

View File

@ -42,18 +42,18 @@ constexpr size_t kType32Len = 4;
constexpr size_t kType64Len = 8;
void UpdateDumpFlagAndDebugInfo(const CNodePtr &node, const std::vector<AnfNodePtr> &orig_nodes) {
std::vector<AnfNodePtr> orig_real_cnodes;
for (auto &orig_node : orig_nodes) {
if (!orig_node->isa<CNode>()) {
continue;
}
auto orig_cnode = orig_node->cast<CNodePtr>();
if (AnfAlgo::HasNodeAttr(kAttrDump, orig_cnode)) {
AnfAlgo::CopyNodeAttr(kAttrDump, orig_cnode, node);
break;
if (AnfUtils::IsRealCNodeKernel(orig_node)) {
auto orig_cnode = orig_node->cast<CNodePtr>();
if (AnfAlgo::HasNodeAttr(kAttrDump, orig_cnode)) {
AnfAlgo::CopyNodeAttr(kAttrDump, orig_cnode, node);
}
orig_real_cnodes.push_back(orig_node);
}
}
node->AddFusedDebugInfoList(orig_nodes);
node->AddFusedDebugInfoList(orig_real_cnodes);
}
} // namespace