From 9e9a569dae738d7d821500b896d0dc5cee5a4fa5 Mon Sep 17 00:00:00 2001 From: Pei Yang Date: Mon, 3 Aug 2020 15:31:00 +0800 Subject: [PATCH] add trt int8 support for elementwise_mul and scale (#25676) --- paddle/fluid/inference/tensorrt/op_teller.cc | 5 +++- .../slim/quantization/quantization_pass.py | 25 ++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/paddle/fluid/inference/tensorrt/op_teller.cc b/paddle/fluid/inference/tensorrt/op_teller.cc index a7bb7c8c4fc..70ead9720d2 100644 --- a/paddle/fluid/inference/tensorrt/op_teller.cc +++ b/paddle/fluid/inference/tensorrt/op_teller.cc @@ -54,7 +54,10 @@ struct SimpleOpTypeSetTeller : public Teller { "leaky_relu", "fc", "relu6", - "concat"}; + "concat", + "scale", + "elementwise_mul", + "conv2d_transpose"}; std::unordered_set teller_set{ "mul", "conv2d", diff --git a/python/paddle/fluid/contrib/slim/quantization/quantization_pass.py b/python/paddle/fluid/contrib/slim/quantization/quantization_pass.py index 51add2449fd..8851bcc6440 100644 --- a/python/paddle/fluid/contrib/slim/quantization/quantization_pass.py +++ b/python/paddle/fluid/contrib/slim/quantization/quantization_pass.py @@ -46,9 +46,26 @@ _fake_quant_dequant_op_list = [ ] _out_scale_op_list = [ - "conv2d", "depthwise_conv2d", "mul", "matmul", "relu", "leaky_relu", - "relu6", "sigmoid", "tanh", "prelu", "swish", "softmax", "batch_norm", - "elementwise_add", "pool2d", "reshape2", "transpose2", "concat" + "conv2d", + "depthwise_conv2d", + "mul", + "matmul", + "relu", + "leaky_relu", + "relu6", + "sigmoid", + "tanh", + "prelu", + "swish", + "softmax", + "batch_norm", + "elementwise_add", + "pool2d", + "reshape2", + "transpose2", + "concat", + "elementwise_mul", + "scale", ] # list op real input and output names, to avoid processing input such as AxisTensor. @@ -90,6 +107,8 @@ _op_real_in_out_name = { "dropout": [["X"], ["Out"]], "batch_norm": [["X"], ["Y"]], "sigmoid": [["X"], ["Out"]], + "elementwise_mul": [["X", "Y"], ["Out"]], + "scale": [["X"], ["Out"]], } -- GitLab