`get_data_ptr` is now public . For now, I will add the neural network functionality directly in Arraymancer.
The directory structure will probably be: * src/arraymancer ==> core Tensor stuff * src/autograd ==> automatic gradient computation (i.e. [Nim-rmad](https://github.com/mratsim/nim-rmad) ported to tensors) * src/neuralnet ==> neural net layers This mirrors [PyTorch's tree](https://github.com/pytorch/pytorch/tree/master/torch) I made this choice for the following reasons: * It's easier for me to keep track of one repo, refactor code, document and test. * I'm focusing on deep learning * It's much easier to communicate about one single package (and attracts new people to Nim ). * Data scientists are used to have deep learning in a single package (tensor + neural net interface): Tensorflow, Torch/PyTorch, Nervana Neon, MxNet ... * Nim's `DeadCodeElim` will ensure that unused code will not be compiled. If the tensor part (without the NN) get even 0.1% of Numpy popularity and people start using it in several packages that means: * It's a rich man problem! * We get new devs and input for scientific/numerical Nim. * We can reconsider splitting as we will know actual expectations. * We can even build a "scinim" community which drives all key scientific nim packages. In the mean time I think it's best if I do what is easier for me and worry about how to scale later.
