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