You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mxnet.apache.org by GitBox <gi...@apache.org> on 2020/09/30 07:13:11 UTC

[GitHub] [incubator-mxnet] samskalicky opened a new issue #19256: Multiple subgraph properties with single backend issue with optimize_for

samskalicky opened a new issue #19256:
URL: https://github.com/apache/incubator-mxnet/issues/19256


   ## Description
   Theres a difference in the flow between `get_backend_symbol` and `optimize_for` when a single backend has multiple subgraph properties that results in the indexed graph not being updated between subgraph properties. 
   
   ### Error Message
   ```
   Traceback (most recent call last):
     File "test.py", line 22, in <module>
       sym_block.optimize_for(mx.nd.zeros((64, 4, 10, 10)), backend='MKLDNN_QUANTIZE')
     File "/home/ubuntu/v1.7.x/python/mxnet/gluon/block.py", line 1089, in optimize_for
       self._build_cache(x, *args)
     File "/home/ubuntu/v1.7.x/python/mxnet/gluon/block.py", line 979, in _build_cache
       out = out.optimize_for(self._backend, arg_array, aux_array, ctx, **self._backend_opts)
     File "/home/ubuntu/v1.7.x/python/mxnet/symbol/symbol.py", line 1531, in optimize_for
       ctypes.byref(new_aux_names)))
     File "/home/ubuntu/v1.7.x/python/mxnet/base.py", line 246, in check_call
       raise get_last_ffi_error()
   mxnet.base.MXNetError: Traceback (most recent call last):
     File "src/operator/subgraph/build_subgraph.cc", line 80
   MXNetError: Check failed: input_nid < simple_nodes->size() (6 vs. 6) :
   ```
   
   ## To Reproduce
   ```
   from mxnet.util import use_np
   from mxnet.gluon import nn, HybridBlock
   import mxnet as mx
   import numpy as np
   attr = {'sg_mkldnn_conv_bn_0' : {'with_bn': 'true'}}
   data = mx.symbol.Variable('data', shape=(64, 4, 10, 10), dtype='float32')
   data2 = mx.symbol.Variable('data2', shape=(64, 64, 10, 10), dtype='float32')
   weight1 = mx.symbol.Variable('conv1_weight', dtype='float32')
   weight2 = mx.symbol.Variable('conv2_weight', dtype='float32', shape=(64,64,1,1))
   conv1 = mx.symbol.Convolution(data=data, weight=weight1, name='conv1', num_filter=64,
                              kernel=(1, 1), stride=(1, 1), no_bias=True)
   bn1 = mx.symbol.BatchNorm(data=conv1, name="bn1")
   conv2 = mx.symbol.Convolution(data=bn1, weight=weight2, name='conv2', num_filter=64,
                              kernel=(1, 1), stride=(1, 1), no_bias=True)
   bn2 = mx.symbol.BatchNorm(data=conv2, name="bn2")
   sum = bn2 + data2
   inputs = mx.sym.var('data', dtype='float32')
   sym_block = mx.gluon.SymbolBlock(sum, [inputs])
   for k, v in sym_block.collect_params().items():
       v.initialize()
   mm = sym_block(mx.nd.zeros((64, 4, 10, 10)))
   sym_block.optimize_for(mx.nd.zeros((64, 4, 10, 10)), backend='MKLDNN_QUANTIZE')
   ```
   ### Steps to reproduce
   1. clone v1.7.x branch and build from source
   2. run code above
   
   Some debugging finds that the indexed graph inside of an nnvm::Graph object is only built once:
   https://github.com/apache/incubator-tvm/blob/0535fd1df1313471ee789b121ecdde1e39520f8f/nnvm/src/core/graph.cc#L31-L36
   So after subsequent subgraph properties the graph is not updated, causing the error in this issue. 


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@mxnet.apache.org
For additional commands, e-mail: issues-help@mxnet.apache.org


[GitHub] [incubator-mxnet] samskalicky closed issue #19256: Multiple subgraph properties with single backend issue with optimize_for

Posted by GitBox <gi...@apache.org>.
samskalicky closed issue #19256:
URL: https://github.com/apache/incubator-mxnet/issues/19256


   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@mxnet.apache.org
For additional commands, e-mail: issues-help@mxnet.apache.org