kevinthesun commented on a change in pull request #6443:
URL: https://github.com/apache/incubator-tvm/pull/6443#discussion_r489716429
##########
File path: src/relay/op/vision/rcnn_op.cc
##########
@@ -43,14 +45,43 @@ bool ROIAlignRel(const Array<Type>& types, int num_inputs,
const Attrs& attrs,
CHECK(roi_align_attrs);
CHECK_EQ(dshape.size(), 4) << "Input data should be 4-D.";
CHECK_EQ(rshape.size(), 2) << "Input rois should be 2-D.";
- CHECK_EQ(roi_align_attrs->layout, "NCHW") << "ROI Align only supports NCHW
layout";
// assign output type
- std::vector<IndexExpr> oshape(
- {rshape[0], dshape[1], roi_align_attrs->pooled_size[0],
roi_align_attrs->pooled_size[1]});
+ std::vector<IndexExpr> oshape;
+ if (roi_align_attrs->layout == "NCHW") {
+ oshape = {rshape[0], dshape[1], roi_align_attrs->pooled_size[0],
+ roi_align_attrs->pooled_size[1]};
+ } else {
+ CHECK_EQ(roi_align_attrs->layout, "NHWC") << "Unexpected ROI Align layout";
+ oshape = {rshape[0], roi_align_attrs->pooled_size[0],
roi_align_attrs->pooled_size[1],
+ dshape[3]};
+ }
+
reporter->Assign(types[2], TensorType(oshape, data->dtype));
return true;
}
+template <typename T>
+Array<Array<Layout> > ROIAlignInferCorrectLayout(const Attrs& attrs,
Review comment:
The issue can be reproduced by applying this patch to
https://github.com/apache/incubator-tvm/pull/6449 and run
```test_detection_models()``` in
```tests/python/frontend/pytorch/test_object_detection.py```.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]