4 ms·
We do scientific computing on the jvm (mainly deep learning). We wrote: https://nd4j.org https://nd4j.org which immitates numpy and co on the jvm with builtin
by agibsonccc 10y ago
We do scientific computing on the jvm (mainly deep learning).
We wrote:
https://nd4j.org https://nd4j.org
which immitates numpy and co on the jvm with builtin gpu support and linking against blas like other frameworks.
We also hand implemented a lot of ufuncs for you in c++.
It's mainly oriented towards dense atm though.
Sparse will come at some point but it hasn't been a big feature for us.
It uses:
https://github.com/bytedeco/javacpp https://github.com/bytedeco/javacpp underneath.
Happy to answer questions!
- mablap 10y agoYeah, I've actually heard about ND4J and was interested in learning about it. But as I said in my parent post, Java seems (from the outside) as this huge unwieldy language that is hard to get into. What could I do with Java/ND4J in scientific computing that I couldn't do with other packages, or that is much easier/better done on the JVM?
- agibsonccc 10y agoYeah and it might be. We're targeting the big data folks with this framework frankly. Anything that does static typing might be overkill for just running matrix math. I created nd4j with the intent of having the same primitives and programming model accessible to me for production environments and also affording me the same privileges of optimizing things in c with nice clean abstractions. scala MIGHT be easier which is why we created nd4s: https://github.com/deeplearning4j/nd4s https://github.com/deeplearning4j/nd4s The JVM and the developers who use it are mainly people with salaries soliving a very specific class of problems not people publishing papers. The one exception to this I've seen is the NLP community. I'd argue it's just a different audience who needs the things the jvm has, eg: static typing, integrations with libraries, etc. For large codebases you really can't beat jvm tooling..if you just need a click repl and throwaway code? It might be a bit much if you don't already know it.