|
|
@ -97,6 +97,10 @@ void ConvertConv2d(TensorRTEngine* engine, const framework::proto::OpDesc& op,
|
|
|
|
BOOST_GET_CONST(std::vector<int>, op_desc.GetAttr("strides"));
|
|
|
|
BOOST_GET_CONST(std::vector<int>, op_desc.GetAttr("strides"));
|
|
|
|
const std::vector<int> paddings =
|
|
|
|
const std::vector<int> paddings =
|
|
|
|
BOOST_GET_CONST(std::vector<int>, op_desc.GetAttr("paddings"));
|
|
|
|
BOOST_GET_CONST(std::vector<int>, op_desc.GetAttr("paddings"));
|
|
|
|
|
|
|
|
std::string padding_algorithm = "EXPLICIT";
|
|
|
|
|
|
|
|
if (op_desc.HasAttr("padding_algorithm"))
|
|
|
|
|
|
|
|
padding_algorithm =
|
|
|
|
|
|
|
|
BOOST_GET_CONST(std::string, op_desc.GetAttr("padding_algorithm"));
|
|
|
|
|
|
|
|
|
|
|
|
nvinfer1::DimsHW nv_ksize(filter_h, filter_w);
|
|
|
|
nvinfer1::DimsHW nv_ksize(filter_h, filter_w);
|
|
|
|
nvinfer1::DimsHW nv_dilations(dilations[0], dilations[1]);
|
|
|
|
nvinfer1::DimsHW nv_dilations(dilations[0], dilations[1]);
|
|
|
@ -126,6 +130,9 @@ void ConvertConv2d(TensorRTEngine* engine, const framework::proto::OpDesc& op,
|
|
|
|
layer->setStride(nv_strides);
|
|
|
|
layer->setStride(nv_strides);
|
|
|
|
layer->setPadding(nv_paddings);
|
|
|
|
layer->setPadding(nv_paddings);
|
|
|
|
layer->setNbGroups(groups);
|
|
|
|
layer->setNbGroups(groups);
|
|
|
|
|
|
|
|
if (padding_algorithm == "SAME") {
|
|
|
|
|
|
|
|
layer->setPaddingMode(nvinfer1::PaddingMode::kSAME_UPPER);
|
|
|
|
|
|
|
|
}
|
|
|
|
// set dilations
|
|
|
|
// set dilations
|
|
|
|
fset_dilation(layer, nv_dilations);
|
|
|
|
fset_dilation(layer, nv_dilations);
|
|
|
|
|
|
|
|
|
|
|
|