September 15, Oracle announced the release of “Tribuo”, a Java machine learning library. Version 4.0 is available for download from the project website.
Tribuo is developed by Oracle Labs’ Machine Learning Research Group. It was created during their several-year work of deploying machine learning models into large production systems. Oracle has already been using Tribuo in production inside Oracle for several years. Tribuois is a Latin word meaning “to assign” or “apportion”.
Tribuo is written in Java, and it runs on Java 8 and above. It provides ML functionality that is expected in any standard ML library, such as classification, clustering, anomaly detection, and regression algorithms. It also has data loading pipelines, text processing pipelines, and feature level transformations for operating on data.
What separates Tribuo from others is that it recognizes each input, which is why it can describe the range and type of each input. It can also name features, and manage feature IDs and output IDs, which prevent ID conflicts. By typing inputs and outputs, Tribuo can track model construction process.
Tribuo provides interfaces to ONNX Runtime, TensorFlow, and XGBoost, allowing models stored in the ONNX format or trained in TensorFlow and XGBoost to be deployed alongside native Tribuo models. Most notable is that the support for ONNX models, which makes it possible for the models, that are trained using Python packages like scikit-learn and PyTorch, to be deployed in Java.
Tribuo is available for download from the project website. It is licensed under the Apache License 2.0.