You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2019/09/25 23:18:23 UTC
[GitHub] [incubator-mxnet] sxjscience opened a new issue #16279: [Bug]
Inconsistency between HybridBlock and Block
sxjscience opened a new issue #16279: [Bug] Inconsistency between HybridBlock and Block
URL: https://github.com/apache/incubator-mxnet/issues/16279
There are lots of operators that have inconsistent behaviors between hybridized and not-hybridized versions.
```python
import mxnet as mx
from mxnet.gluon import HybridBlock
class Foo2(HybridBlock):
def hybrid_forward(self, F, a):
return a[0]
b1 = Foo2(prefix='hybridized')
b1.hybridize()
b2 = Foo2(prefix='no_hybrid')
out1 = b1(mx.nd.ones((10,)))
out2 = b2(mx.nd.ones((10,)))
print(out1)
print(out2)
```
```log
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
<NDArray 10 @cpu(0)>
[1.]
<NDArray 1 @cpu(0)>
```
Even if we use the `numpy` interface, the following code cannot run:
```python
import mxnet as mx
from mxnet.gluon import HybridBlock
mx.npx.set_np()
class Foo2(HybridBlock):
def hybrid_forward(self, F, a):
return a[0]
b1 = Foo2(prefix='hybridized')
b1.hybridize()
b2 = Foo2(prefix='no_hybrid')
out1 = b1(mx.np.ones((10,)))
out2 = b2(mx.np.ones((10,)))
print(out1)
print(out2)
```
```log
6 class Foo2(HybridBlock):
7 def hybrid_forward(self, F, a):
----> 8 return a[0]
9
10
~/mxnet/python/mxnet/symbol/numpy/_symbol.py in __getitem__(self, key)
49 num_outputs = _num_outputs(self)
50 if num_outputs == 1:
---> 51 raise NotImplementedError
52 if not isinstance(key, int):
53 raise NotImplementedError
NotImplementedError:
```
----------------------------------------------------------------
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
With regards,
Apache Git Services