Really glad to see this discussion. Sandeep has been giving this some thought 
as well.

Regards,
Dom


> On Aug 16, 2017, at 8:19 AM, YiZhi Liu <[email protected]> wrote:
> 
> Hi,
> 
> If we build the Java API from the very beginning, i.e. the JNI part,
> we have to rewrite the codes for training, predict, inferShape, etc.
> It would be too heavy to maintain a totally new front language.
> 
> As far as I see, I don't think Scala library dependency would be a big
> problem in most cases, unless we are going to use it in embedded
> devices. Could you illustrate some use-cases where you cannot involve
> Scala dependencies?
> 
> 2017-08-16 22:13 GMT+08:00 Joern Kottmann <[email protected]>:
>> Hello,
>> 
>> the approach which is taken by Spark is described here [1].
>> 
>> As far as I see this has the great disadvantage that the Java API
>> would force Scala as a dependency onto the java users.
>> For a library it is always a great advantage if it doesn't have many
>> dependencies, or zero dependencies. In our case it could be quite
>> realistic to have a thin wrapper around the C API without needing any
>> other dependencies (or only dependencies which can't be avoided).
>> 
>> The JNI layer could easily be shared between the Java and Scala API.
>> As far as I understand is the JNI layer in the Scala API anyway
>> private and a change to it wouldn't require that the public part of
>> the Scala API is changed.
>> 
>> What do you think?
>> 
>> Jörn
>> 
>> [1] https://cwiki.apache.org/confluence/display/SPARK/Java+API+Internals
>> 
>>> On Wed, Aug 16, 2017 at 3:39 PM, YiZhi Liu <[email protected]> wrote:
>>> Hi Joern,
>>> 
>>> I suggest to build Java API as a wrapper of Scala API, re-use most of
>>> the procedures. Referring to the Java API in Apache Spark.
>>> 
>>> 2017-08-16 18:21 GMT+08:00 Joern Kottmann <[email protected]>:
>>>> Hello all,
>>>> 
>>>> I would like to propose the addition of a Java API to MXNet.
>>>> 
>>>> There has been some previous work done for the Scala API, and it makes
>>>> sense to at least share the JNI layer between the two.
>>>> 
>>>> The Java  API probably should be aligned with the Python API (and
>>>> others which exist already) with a few changes to give it a native
>>>> Java feel.
>>>> 
>>>> As far as I understand there are multiple people interested to work on
>>>> this and it would be good to maybe come up with a written proposal on
>>>> how things should be.
>>>> 
>>>> My motivation is to get a Java API which can be used by Apache OpenNLP
>>>> to solve various NLP tasks using Deep Learning based approaches and I
>>>> am also interested to work on MXNet.
>>>> 
>>>> Jörn
>>> 
>>> 
>>> 
>>> --
>>> Yizhi Liu
>>> DMLC member
>>> Technical Manager
>>> Qihoo 360 Inc, Shanghai, China
> 
> 
> 
> -- 
> Yizhi Liu
> DMLC member
> Technical Manager
> Qihoo 360 Inc, Shanghai, China

Reply via email to