diff --git a/paddle/fluid/inference/anakin/op_teller.cc b/paddle/fluid/inference/anakin/op_teller.cc index 67b771226c4999a361a818e32e8caedd81723c03..6b2dedafcf9b3d7b423c314c1851f4dc19ee2e18 100644 --- a/paddle/fluid/inference/anakin/op_teller.cc +++ b/paddle/fluid/inference/anakin/op_teller.cc @@ -62,6 +62,12 @@ struct SimpleOpTypeSetTeller : public Teller { bool OpTeller::Tell(const std::string& op_type, const framework::OpDesc& desc) { for (auto& teller : tellers_) { + if (op_type == "pool2d" || op_type == "conv2d" || + op_type == "depthwise_conv2d" || op_type == "conv2d_transpose") { + std::vector paddings = + boost::get>(desc.GetAttr("paddings")); + if (paddings.size() > 2) return false; + } if ((*teller)(op_type, desc)) return true; } return false; diff --git a/paddle/fluid/inference/tensorrt/op_teller.cc b/paddle/fluid/inference/tensorrt/op_teller.cc index c1d94465b3952fa8332de71ee8371e039dc7189e..aa9f330bc7530cee6d8ea25448487f4f1ea4d06e 100644 --- a/paddle/fluid/inference/tensorrt/op_teller.cc +++ b/paddle/fluid/inference/tensorrt/op_teller.cc @@ -61,6 +61,12 @@ bool OpTeller::Tell(const std::string& op_type, const framework::OpDesc& desc) { boost::get(desc.GetAttr("op_namescope")) == "/skip_quant_2/") return false; for (auto& teller : tellers_) { + if (op_type == "pool2d" || op_type == "conv2d" || + op_type == "depthwise_conv2d" || op_type == "conv2d_transpose") { + std::vector paddings = + boost::get>(desc.GetAttr("paddings")); + if (paddings.size() > 2) return false; + } if ((*teller)(op_type, desc)) return true; } return false;