Hebali commented on issue #9647: Gluon in Core API URL: https://github.com/apache/incubator-mxnet/issues/9647#issuecomment-363209250 Core functionality for supported languages (namely Python, Scala, R, Julia, C++ and Perl) is delivered through bindings to MXNet's C API (see [c_api.h](https://github.com/apache/incubator-mxnet/blob/master/include/mxnet/c_api.h) and [c_predict_api.h](https://github.com/apache/incubator-mxnet/blob/master/include/mxnet/c_predict_api.h)). Each language's wrapper (such as [R-package](https://github.com/apache/incubator-mxnet/tree/master/R-package), [cpp-package](https://github.com/apache/incubator-mxnet/tree/master/cpp-package), etc) adds its own language-specific conveniences. For instance, the C++ package adds some OOP friendliness to the C functionality. Naturally, it does not make sense and in many cases would not be not possible to include those language-specific conveniences in the C API. So, admittedly, there are numerous aspects of Gluon that cannot be promoted to the core C API. But, it seems like Gluon is going in a direction that will lead to a lot of great functionality that could and should be included in the C API. For instance, [rnn_cell.py](https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/rnn/rnn_cell.py) and [rnn_layer.py](https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/rnn/rnn_layer.py). RNNs are highly relevant to ML work being done in any of the supported languages. Sure, someone using one of those languages could implement equivalent functionality for themselves. But, I think such a concession diminishes the overall value of MXNet / Gluon. As I said in my original post, TensorFlow has already made this mistake. Hopefully, they will back out of it. But why make the same one in MXNet? Python is clearly a preferred language for ML. I use it a lot and am a fan. But there are some important reasons for using MXNet in the other supported languages. Support within C and/or C++ means that native applications can take direct advantage of the functionality. The current thinking seems to be: "ML researchers develop models in Python, serialize them and then (maybe) serve them from C/C++" But that seems like somewhat short-term thinking. For MXNet's long-term flexibility and relevance, I think it is important to include as much as possible in the core C API.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services