Programmering

Oracle Java-maskinlæringsbibliotek med åpne kilder

Oracle ønsker å møte bedriftens behov i maskinlæringsområdet og gjør sitt Tribuo Java maskinlæringsbibliotek tilgjengelig gratis under en åpen kildekodelisens.

Med Tribuo tar Oracle sikte på å gjøre det lettere å bygge og distribuere maskinlæringsmodeller i Java, i likhet med det som allerede har skjedd med Python. Utgitt under en Apache 2.0-lisens og utviklet av Oracle Labs, er Tribuo tilgjengelig fra GitHub og Maven Central.

Tribuo tilbyr standard maskinlæringsfunksjonalitet inkludert algoritmer for klassifisering, klynging, avviksdeteksjon og regresjon. Tribuo inkluderer også rørledninger for lasting og transformering av data og gir en rekke evalueringer for støttede prediksjonsoppgaver. Fordi Tribuo samler inn statistikk over innganger, kan Tribuo for eksempel beskrive rekkevidden til hver inngang. Den navngir også funksjoner, administrerer funksjons-ID-er og utgang-ID-er under panseret for å unngå ID-konflikter og forvirring når du kjeder modeller, laster inn data og inneholder innspill.

En Tribuo-modell vet når den ser en funksjon for første gang, noe som er spesielt nyttig når du arbeider med naturlig språkbehandling. Modeller vet hva utganger er, med utganger som er sterkt skrevet. Utviklere trenger ikke å lure på om en flottør er en sannsynlighet, en tilbakegående verdi eller en klynge-ID. Med Tribuo er hver av disse en egen type; modellen kan beskrive typer og områder den kjenner til. Bruk av sterkt typede innganger og utganger betyr at Tribuo kan spore modellkonstruksjonsprosessen, fra punktdata blir lastet gjennom tog / testdelinger eller datasetttransformasjoner til modellopplæring og evaluering. Disse sporingsdataene blir bakt inn i alle modeller og evalueringer.

Tribuo-herkomstsystemet kan generere en konfigurasjon som bygger om opplæringsrørledningen for å reprodusere modellen eller evalueringen. En tweaked-modell kan også bygges på nye data eller hyperparametere. Dermed vet brukerne alltid hva en Tribuo-modell er, hvor den kom fra, og hvordan man lager den.

Oracle ser Tribuo fylle et hull i markedet for maskinlæring for bedriftsapplikasjoner. For eksempel, mens det Google-bygget TensorFlow-biblioteket gir kjernealgoritmer for dyp læring, gir Tribuo flere maskinlæringsalgoritmer, hvorav noen er i TensorFlow og noen ikke, mens det også gir et grensesnitt til TensorFlow, sa Oracle's Adam Pocock, hovedmedlem i Oracle Labs tekniske stab. Og mens Apache Spark-analysemotoren er for store, distribuerte systemer, er Tribuo for mindre beregninger som kan passe på en enkelt maskin, sa Pocock.

I tillegg til TensorFlow, tilbyr Tribuo grensesnitt til XGBoost og ONNX-kjøretiden, slik at modeller som er lagret i ONNX-format eller trent i TensorFlow og XGBoost, kan distribueres sammen med innfødte Tribuo-modeller. Støtte for ONNX-modellformatet tillater distribusjon i Java av modeller trent ved bruk av populære Python-biblioteker som PyTorch.

Tribuo kjører på Java 8 eller nyere. Oracle godtar kodebidrag til Tribuo i henhold til Oracle Contributor Agreement. Tribuo har allerede blitt brukt internt på Oracle i Fusion Cloud ERP-produktet for intelligent dokumentgjenkjenning, for eksempel.

$config[zx-auto] not found$config[zx-overlay] not found