trevor-m edited a comment on issue #5195: [RELAY] Fixes to MergeCompilerRegions
URL: https://github.com/apache/incubator-tvm/pull/5195#issuecomment-607376003
 
 
   Hi @mbaret, thanks again for fixing these issues!
   
   I noticed the call to MergeCompilerRegions hangs indefinitely for 
Densenet121 when all nodes are annotated. Here is a script to reproduce the 
issue. You will also need this commit 
https://github.com/trevor-m/tvm/commit/2b7c3b1d040abf1f88fca3857c65f13c4f012b2e 
to make sure that Tuple + concatenate is annotated properly also. There might a 
some infinite loop in the pass code or the runtime is scaling very poorly with 
respect to number of nodes.
   
   ```
   from tvm import relay
   import mxnet as mx
   from mxnet.gluon.model_zoo.vision import get_model
   from tvm.relay import op as reg
   
   def _register_external_op_helper(op_name, supported=True):
       @reg.register(op_name, "target.test")
       def _func_wrapper(attrs, args):
           return supported
       return _func_wrapper
   
   _register_external_op_helper("nn.conv2d")
   _register_external_op_helper("nn.dense")
   _register_external_op_helper("nn.relu")
   _register_external_op_helper("add")
   _register_external_op_helper("multiply")
   _register_external_op_helper("nn.bias_add")
   _register_external_op_helper("nn.batch_flatten")
   _register_external_op_helper("nn.max_pool2d")
   _register_external_op_helper("nn.dropout")
   _register_external_op_helper("nn.batch_norm")
   _register_external_op_helper("nn.global_avg_pool2d")
   _register_external_op_helper("clip")
   _register_external_op_helper("concatenate")
   _register_external_op_helper("nn.avg_pool2d")
   
   def test_densenet():
       block = get_model('densenet121', pretrained=True)
       mod, params = relay.frontend.from_mxnet(block, shape={'data': (1, 3, 
224, 224)}, dtype='float32')
       mod = relay.transform.AnnotateTarget("test")(mod)
       print('Running MergeCompilerRegions...')
       mod = relay.transform.MergeCompilerRegions()(mod)
       mod = relay.transform.PartitionGraph()(mod)
       print(mod)
   
   test_densenet()
   ```

----------------------------------------------------------------
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]


With regards,
Apache Git Services

Reply via email to