Pre Merge pull request !14450 from cjh9368/test_const_fold

pull/14450/MERGE
cjh9368 4 years ago committed by Gitee
commit 9e043fbe4a

@ -410,6 +410,10 @@ FuncGraphPtr AnfTransform::Transform(const FuncGraphPtr &main_graph, const conve
return nullptr;
}
}
int const_fold_num = opt::ConstFoldPass::GetConstFoldCallNum();
if (const_fold_num > 0) {
MS_LOG(ERROR) << "Call const fold nums: " << const_fold_num << ", model name: " << config->modelFile;
}
return main_graph;
}
} // namespace mindspore::lite

@ -18,6 +18,7 @@
#include <memory>
#include <set>
#include <vector>
#include <algorithm>
#include "tools/converter/quant_param_holder.h"
#include "tools/optimizer/common/gllo_utils.h"
#include "tools/anf_exporter/anf_exporter.h"
@ -246,6 +247,9 @@ void FreeTensors(std::vector<Tensor *> *input_tensor, std::vector<Tensor *> *out
}
} // namespace
int const_fold_call_num = 0;
int ConstFoldPass::GetConstFoldCallNum() { return const_fold_call_num; }
const AnfNodePtr ConstFoldPass::Process(const FuncGraphPtr &func_graph, const AnfNodePtr &node,
const EquivPtr &) const {
if (CheckIfFuncGraphIsNull(func_graph) != lite::RET_OK || CheckIfAnfNodeIsNull(node) != lite::RET_OK ||
@ -269,6 +273,7 @@ const AnfNodePtr ConstFoldPass::Process(const FuncGraphPtr &func_graph, const An
continue;
}
changed = true;
const_fold_call_num++;
auto output_nums = GetOutputTensorNum(input_cnode);
std::vector<Tensor *> output_tensors;
for (size_t j = 0; j < output_nums; j++) {

@ -33,6 +33,7 @@ class ConstFoldPass : public PatternProcessPass {
: PatternProcessPass("constfold_pass", multigraph), context(std::move(context_ptr)) {}
~ConstFoldPass() override = default;
const AnfNodePtr Process(const FuncGraphPtr &, const AnfNodePtr &, const EquivPtr &) const override;
static int GetConstFoldCallNum();
private:
std::shared_ptr<lite::InnerContext> context;

Loading…
Cancel
Save