diff --git a/paddle/fluid/lite/api/cxx_api.h b/paddle/fluid/lite/api/cxx_api.h index ba2d784b942c04c169a19d4747352d9048fd6ff2..915a469a58765f102ff01c28ed9856d185311168 100644 --- a/paddle/fluid/lite/api/cxx_api.h +++ b/paddle/fluid/lite/api/cxx_api.h @@ -50,6 +50,7 @@ class ExecutorLite { optimizer_.KernelPickPreferPlace(prefer_place); core::KernelPickFactor factor; factor.ConsiderTarget(); + factor.ConsiderPrecision(); optimizer_.Run(std::move(program), valid_places, factor); program_ = optimizer_.GenRuntimeProgram(); } diff --git a/paddle/fluid/lite/core/mir/fusion/quant_dequant_op_fuser.h b/paddle/fluid/lite/core/mir/fusion/quant_dequant_op_fuser.h index b4778aab182abf368461984bbfb9ef827b6c0fb9..29ff767e772cdd63149c965107d1c448788dc9db 100644 --- a/paddle/fluid/lite/core/mir/fusion/quant_dequant_op_fuser.h +++ b/paddle/fluid/lite/core/mir/fusion/quant_dequant_op_fuser.h @@ -25,7 +25,7 @@ namespace fusion { /* The model trained by fluid quantization is a simulation of real int8. * The quantized Ops(conv2d, mul, depthwise conv2d etc) have fake_quantop - * in front and fake_dequantop behind. + * in front and fake_dequantop behind. * * When in int8 mode, the pattern like "fake_quant + quantized_op + * fake_dequant" diff --git a/paddle/fluid/lite/core/mir/pattern_matcher_high_api.cc b/paddle/fluid/lite/core/mir/pattern_matcher_high_api.cc index 9f0b2e1f3225d708f0e71c255bad2eec71628f76..322ddb29064de5eb8771f50508d20ba9ba7f053c 100644 --- a/paddle/fluid/lite/core/mir/pattern_matcher_high_api.cc +++ b/paddle/fluid/lite/core/mir/pattern_matcher_high_api.cc @@ -41,7 +41,7 @@ void FuseBase::DeleteInterNodes(SSAGraph *graph) { } } - LOG(INFO) << "keys: " << key2nodes_.size(); + VLOG(4) << "keys: " << key2nodes_.size(); std::unordered_set nodes2rm; for (auto &matched : key2nodes_) { for (const auto &key : keys) { diff --git a/paddle/fluid/lite/core/op_registry.cc b/paddle/fluid/lite/core/op_registry.cc index 8c3e44733df0f868a5881e1c0d3140a2ea5cf518..131bdc641d06dffeae35c218be8a5984601d23b2 100644 --- a/paddle/fluid/lite/core/op_registry.cc +++ b/paddle/fluid/lite/core/op_registry.cc @@ -96,6 +96,7 @@ KernelRegistry::KernelRegistry() INIT_FOR(kX86, kAny, kAny); INIT_FOR(kARM, kFloat, kNCHW); + INIT_FOR(kARM, kInt8, kNCHW); INIT_FOR(kARM, kAny, kNCHW); INIT_FOR(kARM, kAny, kAny); #undef INIT_FOR diff --git a/paddle/fluid/lite/core/op_registry.h b/paddle/fluid/lite/core/op_registry.h index 1052419ecda8bcad8d919c0d8f8e2ab3f969440f..fc4cd25fa56eec295c522857a67e17315ed49ba8 100644 --- a/paddle/fluid/lite/core/op_registry.h +++ b/paddle/fluid/lite/core/op_registry.h @@ -80,6 +80,8 @@ class KernelRegistry final { KernelRegistryForTarget *, // KernelRegistryForTarget *, // + KernelRegistryForTarget * // >; diff --git a/paddle/fluid/lite/core/optimizer.h b/paddle/fluid/lite/core/optimizer.h index ea65329b668c89405ca43f55121f2ca1790539c0..c42699ff10a6e9e926693c46b38f3cd6343a4dd0 100644 --- a/paddle/fluid/lite/core/optimizer.h +++ b/paddle/fluid/lite/core/optimizer.h @@ -58,7 +58,6 @@ class Optimizer { #ifdef LITE_WITH_LIGHT_WEIGHT_FRAMEWORK "lite_elementwise_add_activation_fuse_pass", // #endif - "lite_fc_fuse_pass", // "static_kernel_pick_pass", // "variable_place_inference_pass", // "argument_type_display_pass", //