JavaCPP
Deep Java Library (DJL)
Our great sponsors
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- Sonar - Write Clean Java Code. Always.
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- InfluxDB - Access the most powerful time series database as a service
JavaCPP | Deep Java Library (DJL) | |
---|---|---|
8 | 13 | |
4,114 | 3,220 | |
0.9% | 3.9% | |
8.5 | 9.0 | |
7 days ago | 3 days ago | |
Java | Java | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
JavaCPP
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
JavaCPP and presets for working with JNI
-
JDK 19 released
In the meantime you might want to check out JavaCPP: https://github.com/bytedeco/javacpp
-
How can I use K/N with C++?
Maybe you can use JavaCPP?
-
Does Java 18 finally have a better alternative to JNI?
Here is the code for JNI, which uses the prebuilt JavaCPP library to call the getpid function. We don't have to write all the manual C binding code and rituals as the JavaCPP library already does it.
-
JEP 419: Foreign Function and Memory API
Javacpp is the best ffi library of all https://github.com/bytedeco/javacpp
-
If it gets better w age, will java become compatible for machine learning and data science?
As for our approach, we maintain a library called javacpp: https://github.com/bytedeco/javacpp which proves a python wheel like experience where we distribute natively optimized c/c++ code (and even cuda accelerated code) as jar files on maven central. We also are able to develop with a python like experience by passing pointers around and other low level constructs directly allowing optimizations that you typically only get in c/c++.
-
CXX - Safe interop between Rust and C++
https://github.com/bytedeco/javacpp
* it maps naturally and efficiently many common features afforded by the C++ language and often considered problematic, including overloaded operators, class and function templates, callbacks through function pointers, function objects (aka functors), virtual functions and member function pointers, nested struct definitions, variable length arguments, nested namespaces, large data structures containing arbitrary cycles, virtual and multiple inheritance, passing/returning by value/reference/string/vector, anonymous unions, bit fields, exceptions, destructors and shared or unique pointers (via either try-with-resources or garbage collection), and documentation comments*
Deep Java Library (DJL)
-
Is deeplearning4j a good choice?
It seems to have been picked up by Eclipse and there is also Oracle Labs' Tribuo and Deep Java Library. All seem active, but I don't know much about any of them. I agree it's probably best to follow the community and use a more popular tool like PyTorch.
-
Just want to vent a bit
Although it may be a bit more work, you can do both machine learning and AI in Java. If you are doing deep learning, you can use DeepJavaLibrary (I do work on this one at Amazon). If you are looking for other ML algorithms, I have seen Smile, Tribuo, or some around Spark.
-
Best way to combine Python and Java?
Image preprocessing I know less about, but tokenization is something I've dealt with a bunch. There are a few options, either push the tokenizer into the ONNX model and use MS's ONNX Runtime extensions (we've used this when working with sentencepiece tokenizers), port the tokenizer entirely to Java (we did this for BERT), or use a sentencepiece or HF tokenizers wrapper directly (e.g. Amazon's DJL did this - HF, sentencepiece).
-
Anybody here using Java for machine learning?
https://djl.ai/ seems very promising. I've played around with it quite a bit, not in real production though. It's a very well documented (https://d2l.djl.ai/) and active project, with Amazon working on it.
Well, we've been using Tribuo in production for many years now. The ONNX Runtime Java API that I maintain in MS's ONNX Runtime project has also seen a bunch of uptake in companies, and Amazon have been building DJL for several years too.
- Good document classification library in Java
-
2021-09 - Plans & Hopes for Clojure Data Science
Here is link number 1 - Previous text "DJL"
Regarding Tensorflow: As far as I understand, it is accessible through DJL, which has a Clojure wrapper (work in progress): clj-djl. (But I haven't tried it.)
-
[D] Java vs Python for Machine learning
To give a contrasting perspective, I think the Java ecosystem is much better suited for many data science tasks, and has a growing and well-maintained set of libraries for general purpose machine learning. I won't list them all, but TF-Java, DJL et al. have implementations of many modern architectures and there are a number of excellent libraries (CoreNLP, Lucene et al.) for working with text.
- Does Java has similar project like this one in C#? (ml, data)
What are some alternatives?
Deeplearning4j - Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code and a java based math library on top of the core c++ library. Also includes samediff: a pytorch/tensorflow like library for running deep learning using automatic differentiation.
JNA - Java Native Access
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
mediapipe - Cross-platform, customizable ML solutions for live and streaming media.
JNR - Java Abstracted Foreign Function Layer
Tribuo - Tribuo - A Java machine learning library
Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing
Apache Flink - Apache Flink
CoreNLP - Stanford CoreNLP: A Java suite of core NLP tools.
Cython - The most widely used Python to C compiler
cppimport - Import C++ files directly from Python!