xidulu opened a new issue #17661: [Numpy] Zero-dim sum raises error, (again)
URL: https://github.com/apache/incubator-mxnet/issues/17661
 
 
   Run the following script with MXNET_ENGINE_TYPE=NaiveEngine
   
   ```python
   from mxnet import np, npx
   import numpy as _np
   npx.set_np()
   
   event_shape = 2
   batch_shape = (4, 0, 5)
   
   def one_hot(a, num_classes):
       return np.identity(num_classes)[a]
   
   prob = np.array(_np.random.dirichlet([1 / event_shape] * event_shape, 
size=batch_shape))
   samples = np.random.choice(event_shape, size=batch_shape)
   samples = one_hot(samples, event_shape)
   print(prob.shape)
   print(samples.shape)
   print((prob * samples).sum(-1))
   ```
   
   error gets raised
   ```
   Traceback (most recent call last):
     File "/home/ubuntu/mxnet_master_develop/test_zero_dim_sum.py", line 16, in 
<module>
       print((prob * samples).sum(-1))
     File "/home/ubuntu/mxnet_master_develop/python/mxnet/numpy/multiarray.py", 
line 1671, in sum
       return _mx_np_op.sum(self, axis=axis, dtype=dtype, out=out, 
keepdims=keepdims)
     File "<string>", line 49, in sum
     File "/home/ubuntu/mxnet_master_develop/python/mxnet/_ctypes/ndarray.py", 
line 106, in _imperative_invoke
       ctypes.byref(out_stypes)))
     File "/home/ubuntu/mxnet_master_develop/python/mxnet/base.py", line 246, 
in check_call
       raise get_last_ffi_error()
   mxnet.base.MXNetError: Traceback (most recent call last):
     [bt] (8) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(mxnet::imperative::PushFCompute(std::function<void
 (nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::TBlob, 
std::allocator<mxnet::TBlob> > const&, std::vector<mxnet::OpReqType, 
std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::TBlob, 
std::allocator<mxnet::TBlob> > const&)> const&, nnvm::Op const*, 
nnvm::NodeAttrs const&, mxnet::Context const&, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, std::vector<mxnet::Resource, 
std::allocator<mxnet::Resource> > const&, std::vector<mxnet::NDArray*, 
std::allocator<mxnet::NDArray*> > const&, std::vector<mxnet::NDArray*, 
std::allocator<mxnet::NDArray*> > const&, std::vector<unsigned int, 
std::allocator<unsigned int> > const&, std::vector<mxnet::OpReqType, 
std::allocator<mxnet::OpReqType> > const&)+0x2f7) [0x7fb44cfa83c7]
     [bt] (7) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(mxnet::Engine::PushSync(std::function<void
 (mxnet::RunContext)>, mxnet::Context, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, mxnet::FnProperty, int, char 
const*)+0x11f) [0x7fb44cdbd89f]
     [bt] (6) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(mxnet::engine::NaiveEngine::PushAsync(std::function<void
 (mxnet::RunContext, mxnet::engine::CallbackOnComplete)>, mxnet::Context, 
std::vector<mxnet::engine::Var*, std::allocator<mxnet::engine::Var*> > const&, 
std::vector<mxnet::engine::Var*, std::allocator<mxnet::engine::Var*> > const&, 
mxnet::FnProperty, int, char const*, bool)+0x20a) [0x7fb44ced985a]
     [bt] (5) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(std::_Function_handler<void
 (mxnet::RunContext, mxnet::engine::CallbackOnComplete), 
mxnet::Engine::PushSync(std::function<void (mxnet::RunContext)>, 
mxnet::Context, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, mxnet::FnProperty, int, char 
const*)::{lambda(mxnet::RunContext, 
mxnet::engine::CallbackOnComplete)#1}>::_M_invoke(std::_Any_data const&, 
mxnet::RunContext, mxnet::engine::CallbackOnComplete)+0x61) [0x7fb44cdbdf51]
     [bt] (4) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(mxnet::imperative::PushFCompute(std::function<void
 (nnvm::NodeAttrs const&, mxnet::OpContext const&, std::vector<mxnet::TBlob, 
std::allocator<mxnet::TBlob> > const&, std::vector<mxnet::OpReqType, 
std::allocator<mxnet::OpReqType> > const&, std::vector<mxnet::TBlob, 
std::allocator<mxnet::TBlob> > const&)> const&, nnvm::Op const*, 
nnvm::NodeAttrs const&, mxnet::Context const&, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, std::vector<mxnet::engine::Var*, 
std::allocator<mxnet::engine::Var*> > const&, std::vector<mxnet::Resource, 
std::allocator<mxnet::Resource> > const&, std::vector<mxnet::NDArray*, 
std::allocator<mxnet::NDArray*> > const&, std::vector<mxnet::NDArray*, 
std::allocator<mxnet::NDArray*> > const&, std::vector<unsigned int, 
std::allocator<unsigned int> > const&, std::vector<mxnet::OpReqType, 
std::allocator<mxnet::OpReqType> > 
const&)::{lambda(mxnet::RunContext)#1}::operator()(mxnet::RunContext) 
const+0x2e0) [0x7fb44cfa6930]
     [bt] (3) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(void 
mxnet::op::NumpyReduceAxesCompute<mshadow::cpu, mxnet::op::mshadow_op::sum, 
true, false, mxnet::op::mshadow_op::identity>(nnvm::NodeAttrs const&, 
mxnet::OpContext const&, std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob> 
> const&, std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > 
const&, std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob> > const&)+0x6fc) 
[0x7fb44de0e71c]
     [bt] (2) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(void 
mxnet::op::ReduceAxesComputeImpl<mshadow::cpu, mxnet::op::mshadow_op::sum, 
false, false, mxnet::op::mshadow_op::identity>(mxnet::OpContext const&, 
std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob> > const&, 
std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, 
std::vector<mxnet::TBlob, std::allocator<mxnet::TBlob> > const&, mxnet::TShape 
const&)+0x19f5) [0x7fb44dd2f815]
     [bt] (1) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(mxnet::TBlob::reshape(mxnet::TShape
 const&) const+0x152) [0x7fb44d4dbc42]
     [bt] (0) 
/home/ubuntu/mxnet_master_develop/python/mxnet/../../build/libmxnet.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x34)
 [0x7fb44cd97964]
     File "../include/mxnet/././tensor_blob.h", line 198
   MXNetError: Check failed: this->shape_.Size() == shape.Size() (0 vs. 1) : 
Shape size mismatch 0 v.s. 1
   [05:25:36] ../src/engine/naive_engine.cc:72: Engine shutdown
   ```

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