diff --git a/src/relay/pass/pattern_util.h b/src/relay/pass/pattern_util.h index 682e2e337b17..4939ba618aea 100644 --- a/src/relay/pass/pattern_util.h +++ b/src/relay/pass/pattern_util.h @@ -465,10 +465,12 @@ static inline Expr AvgPool2D(Expr data, Array pool_size, Array> pad_width, double pad_value) { +static inline Expr Pad(Expr data, Array> pad_width, double pad_value, + std::string pad_mode) { auto attrs = make_node(); attrs->pad_value = pad_value; attrs->pad_width = std::move(pad_width); + attrs->pad_mode = std::move(pad_mode); static const Op& op = Op::Get("nn.pad"); return CallNode::make(op, {data}, Attrs(attrs), {}); } diff --git a/src/relay/qnn/op/convolution.cc b/src/relay/qnn/op/convolution.cc index 2fdb5091ce13..bc1c487c98c6 100644 --- a/src/relay/qnn/op/convolution.cc +++ b/src/relay/qnn/op/convolution.cc @@ -168,7 +168,7 @@ Expr Conv2DPadInput(const Expr& data, const QnnConv2DAttrs* param) { } else { LOG(FATAL) << "qnn.conv2d does not support " << param->data_layout << " layout"; } - padded_data = Pad(data, pad_width, param->input_zero_point); + padded_data = Pad(data, pad_width, param->input_zero_point, "constant"); } return padded_data; }