## Description
I want to add an axis to an input, so I try to use Symbol.reshape with arg 
shape=(1, -2), but it fails with a cryptic message. Is there any workaround ?

## Environment info (Required)
- Linux setup using  
https://raw.githubusercontent.com/apache/incubator-mxnet/1.2.1/ci/docker/install/ubuntu_core.sh
 (actually in a Docker)
- MXNet 1.2.1, scala 2.11.11

## Error Message:
```
[error] (run-main-0) org.apache.mxnet.MXNetError: Error in operator reshape0: 
[16:14:49] src/operator/tensor/./matrix_op-inl.h:187: Check failed: 
oshape.Size() == dshape.Size() (2 vs. 4) Target shape size is different to 
source. Target: [1,2]
[error] Source: [2,2]
[error]
[error] Stack trace returned 10 entries:
[error] [bt] (0) 
/tmp/mxnet2259072593884902973/mxnet-scala(dmlc::StackTrace[abi:cxx11]()+0x1bc) 
[0x7f705d82c4fc]
[error] [bt] (1) 
/tmp/mxnet2259072593884902973/mxnet-scala(dmlc::LogMessageFatal::~LogMessageFatal()+0x28)
 [0x7f705d82d718]
[error] [bt] (2) 
/tmp/mxnet2259072593884902973/mxnet-scala(mxnet::op::ReshapeShape(nnvm::NodeAttrs
 const&, std::vector<nnvm::TShape, std::allocator<nnvm::TShape> >*, 
std::vector<nnvm::TShape, std::allocator<nnvm::TShape> >*)+0xa1c) 
[0x7f705df3886c]
[error] [bt] (3) /tmp/mxnet2259072593884902973/mxnet-scala(+0x20b0d61) 
[0x7f705f481d61]
[error] [bt] (4) 
/tmp/mxnet2259072593884902973/mxnet-scala(mxnet::exec::InferShape(nnvm::Graph&&,
 std::vector<nnvm::TShape, std::allocator<nnvm::TShape> >&&, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)+0x1a7f) [0x7f705f483ebf]
[error] [bt] (5) 
/tmp/mxnet2259072593884902973/mxnet-scala(mxnet::exec::GraphExecutor::Init(nnvm::Symbol,
 mxnet::Context const&, std::map<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, mxnet::Context, 
std::less<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, mxnet::Context> > > 
const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, 
std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, 
std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, 
std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, 
mxnet::Executor*, std::unordered_map<nnvm::NodeEntry, mxnet::NDArray, 
nnvm::NodeEntryHash, nnvm::NodeEntryEqual, 
std::allocator<std::pair<nnvm::NodeEntry const, mxnet::NDArray> > > 
const&)+0x10ed) [0x7f705f461f3d]
[error] [bt] (6) 
/tmp/mxnet2259072593884902973/mxnet-scala(mxnet::Executor::Bind(nnvm::Symbol, 
mxnet::Context const&, std::map<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, mxnet::Context, 
std::less<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, mxnet::Context> > > 
const&, std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, 
std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, 
std::vector<mxnet::OpReqType, std::allocator<mxnet::OpReqType> > const&, 
std::vector<mxnet::NDArray, std::allocator<mxnet::NDArray> > const&, 
mxnet::Executor*)+0xe0) [0x7f705f463510]

(...)
[error]         at org.apache.mxnet.Base$.checkCall(Base.scala:131)
[error]         at org.apache.mxnet.Symbol.bindHelper(Symbol.scala:786)
[error]         at org.apache.mxnet.Symbol.bind(Symbol.scala:711)
[error]         at ReshapeTest$.delayedEndpoint$ReshapeTest$1(tt.scala:72)
[error]         at ReshapeTest$delayedInit$body.apply(tt.scala:67)
[error]         at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
[error]         at 
scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
[error]         at scala.App$$anonfun$main$1.apply(App.scala:76)
[error]         at scala.App$$anonfun$main$1.apply(App.scala:76)
[error]         at scala.collection.immutable.List.foreach(List.scala:392)
[error]         at 
scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
[error]         at scala.App$class.main(App.scala:76)
[error]         at ReshapeTest$.main(tt.scala:67)
[error]         at ReshapeTest.main(tt.scala)
```

## Minimum reproducible example
```scala
import org.apache.mxnet._

val a = Symbol.Variable("a")
val r = Symbol.reshape()(a)(Map("shape" -> (1,-2)))

val exec = r.bind(Context.defaultCtx, Map(
    "a" -> NDArray.array(Array(1, 2, 3, 4), Shape(2,2))
))
exec.forward()

```


[ Full content available at: 
https://github.com/apache/incubator-mxnet/issues/12425 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to