TeamQuest Blog

Deeplearning4j

Deeplearning4j

Marcin Sarna , 09.09.2020 r.

Biblioteka Javy dla sztucznej inteligencji.

Czym jest Deeplearning4j?

Mając na celu integrację modeli z aplikacjami Java, Deeplearning4j oferuje zestaw komponentów do tworzenia takich aplikacji opartych na JVM, które implementują czy opierają się na sztucznej inteligencji.

Od strony technicznej Eclipse Deeplearning4j jest rozproszoną biblioteką do głębokiego uczenia (deep learning) o otwartym kodzie źródłowym dla wirtualnej maszyny Javy. Deeplearning4j został napisany w Javie i jest kompatybilny z dowolnym językiem JVM, takim jak Scala, Clojure czy Kotlin. Podstawowe metody obliczeniowe są zaś napisane w językach C, C ++ i Cuda. Keras będzie służyć jako API Pythona. Zintegrowany z Hadoop i Apache Spark, Deeplearning4j wprowadza sztuczną inteligencję do środowisk biznesowych do użytku na rozproszonych CPU i GPU.

Tylko biblioteka? Nie.

Deeplearning4j to w rzeczywistości zestaw projektów przeznaczonych do obsługi wszystkich potrzeb aplikacji polegających na deep learningu a opartych na JVM. Poza samym Deeplearning4j (interfejs API wysokiego poziomu), zawiera ND4J (algebra liniowa ogólnego przeznaczenia), SameDiff (oparte na wykresach automatyczne różnicowanie), DataVec (ETL), Arbiter (wyszukiwanie hiperparametrów) oraz C ++ LibND4J (stanowi podstawę dla wszystkich wcześniej wymienionych). LibND4J z kolei odwołuje się do standardowych bibliotek do obsługi procesorów i GPU, takich jak OpenBLAS, OneDNN (MKL-DNN), cuDNN czy cuBLAS.

Inne rozwiązania

Deeplearning4j konkuruje z innymi platformami głębokiego uczenia. Najbardziej porównywalnym projektem jest TensorFlow - wiodąca platforma do głębokiego uczenia się od końca do końca do produkcji. TensorFlow ma obecnie interfejsy dla Pythona, C ++ i Java (eksperymentalne) oraz oddzielną implementację dla JavaScript. TensorFlow wykorzystuje dwa sposoby uczenia: oparte na wykresach i tryb natychmiastowy (przyspieszone wykonanie). Deeplearning4j obecnie obsługuje tylko wykonywanie oparte na grafach.

Także PyTorch, platforma głębokiego uczenia do badań naukowych, obsługuje tylko tryb natychmiastowy. Posiada ona interfejsy dla Pythona, C ++ i Java. Z kolei H2O Sparkling Water integruje platformę uczenia maszynowego typu open source o nazwie H2O z platformą Spark. H2O ma z kolei interfejsy do Java i Scala, Python, R i H2O Flow.

Korzystanie z Deeplearning4j

Mimo otwartego kodu źródłowego jest także dostępne komercyjne wsparcie dla Deeplearning4j. Można je wykupić od Konduit, który obsługuje również wielu programistów pracujących nad projektem.

Zasadniczo Deeplearning4j traktuje zadania ładowania danych i algorytmów uczących jako oddzielne procesy. Ładujesz i transformujesz dane przy użyciu biblioteki DataVec oraz trenujesz modele przy użyciu tensorów i biblioteki ND4J.

Na chwilę obecną najprościej jest wypróbować Deeplearning4j przez skorzystania z oficjalnego quick startu. Jest on dostępny tutaj. Wymaga w miarę aktualnej wersji Javy, instalacji Mavena, działającego Gita i jakiegoś IDE (preferowany jest IntelliJ IDEA ale może być także Eclipse). Przygoda zaczyna się od sklonowania repozytorium eclipse/deeplearning4j-examples z pomocą Gita lub GitHuba Desktop. Wtedy można już zainstalować z poziomu Mavena przykładowe projekty z katalogu dl4j-examples.

Oficjalna strona projektu znajduje się tutaj.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej