Supporting Faster RCNN and Mask RCNN models

Hi @yongwww, awesome! Thanks for the efforts! Looking forward to give it try once merged in the master!

How to get ROIPooling

Hi, can the newest version of TVM run the TensorFlow MaskRCNN model??

Hi, execuse me! can the newest version of TVM support tensorflow MaskRCNN model??? and if can where your MaskRCNN model get? I get the keras model from “https://github.com/matterport/Mask_RCNN” and transfrom it to TensorFlow model. Now there are three Ops which TVM can not support as ‘DenseToDenseSetOperation’, ‘SparseToDense’, ‘Unique’. tks

Yes, MaskRCNN is supported now, you can get the model from TF object detection model zoo.

yes, I had downloaded the model “mask_rcnn_resnet50_atrous_coco_2018_01_28.tar.gz” from the model zoo. But TVM costs long time to compile it about one hour(It is so long time when TVM parses Tensorflow MaskRCNN model). please have you compiled the model before? and is it the same as my result. thanks very much!

We have tested all models in TF object detection model zoo. As Yao said, the long compilation time is expected at this time, it is caused by some VM passes, there are some improvement work on this.

thank you very much!

Hi, I downloaded the model MaskRCNN-resnet50 from “http://download.tensorflow.org/models/object_detection/mask_rcnn_resnet50_atrous_coco_2018_01_28.tar.gz” but it occurs an error as below,

     // Visitor pattern override.
  void VisitExpr_(const LetNode* call) { LOG(FATAL) << "FoldScaleAxis only accept dataflow-form"; }

in fold_scale_axis.cc file. did you find some similiar errors? and how can I fix it? thks!

You can disable this pass when doing compilation.

@kevinthesun, hi when I run this MaskRCNN model, I found there are some shapes are not defined. if TVM support these undefined shapes and how it can run this? thanks very much. image

These are dynamic shapes which determined at runtime. Relay VM handles them.

Execuse me, how do you run passed the MaskRcnn model. until now I have some errors with TVM. I download the model from TF model zoo. and use the “mask_rcnn_resnet50_atrous_coco_2018_01_28” version. run the “frozen_inference_graph.pb” model directly with TVM.

thanks very much!

That model should work in TVM. What error did you get?

some errors like “can not find the graph_runtime”, or " do not support dynamic shape". need I to use the tvm.VM target?

errors as below:

1285867 File “/home/fei.liu/work/codes/stc-tvm/src/relay/backend/graph_plan_memory.cc”, line 118 1285868 TVMError: Check failed: it != token_map_.end():

Yes. You need to use relay VM.

I am trying to run mask_rcnn_resnet50_atrous_coco_2018_01_28 too but run into stack overflow issue, it seems because that model is very large. Any way to workaroud that?

ulimit -s unlimited for linux

Hi:

I am also trying to compile a SSD model from TensorFlow 1 Detection Model Zoo, but the relay.frontend.from_tensorflow fails because some input tensor of Select has dynamic shape, which will cause TypeSolver::Solve error from WhereRel

Would you mind share more details about how you guys compile Tensorflow Object Detection models, such as Tensorflow version, how to overcome the dynamic shape of input tensor of Select operator, graph_def modification and so on.

Thanks a lot

@kevinthesun Is relay vm supported with Vitis AI workflow? if not is there any success rate for compiling maskrcnn model for xilinx hw?