diff --git a/paddle/fluid/inference/tensorrt/op_teller.cc b/paddle/fluid/inference/tensorrt/op_teller.cc index a7bb7c8c4fceb191c11b52ae4ff5574e5e47abd2..70ead9720d2ebcb15ae0173dc0ba7c2095a4f4d4 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 51add2449fdebc57d0f8a95b238d7563b906db29..8851bcc6440d405f7484257b44760802feb0d8fb 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"]], }