Uruchom model głębokiego uczenia się w Javie: szybkie podejście

Z radością ogłaszamy Deep Java Library (DJL), bibliotekę typu open source do opracowywania, trenowania i uruchamiania modeli głębokiego uczenia w języku Java przy użyciu intuicyjnych interfejsów API wysokiego poziomu. Jeśli jesteś użytkownikiem Java zainteresowanym nauką głębokiego uczenia się, DJL to świetny sposób na rozpoczęcie nauki. Jeśli jesteś programistą Java pracującym z modelami głębokiego uczenia, DJL uprości sposób trenowania i wykonywania prognoz. W tym poście pokażemy, jak w kilka minut uruchomić prognozowanie z wcześniej wytrenowanym modelem głębokiego uczenia.

Zanim zaczniemy programować, chcemy podzielić się naszą motywacją do zbudowania tej biblioteki. Badając krajobraz głębokiego uczenia się, znaleźliśmy mnóstwo zasobów dla użytkowników Pythona. Na przykład NumPy do analizy danych; Matplotlib do wizualizacji; frameworki, takie jak MXNet, PyTorch, TensorFlow i wiele innych. Ale jest bardzo mało zasobów dla użytkowników Java, mimo że jest to najpopularniejszy język w przedsiębiorstwie. Naszym celem było zapewnienie milionom użytkowników języka Java narzędzi open source do trenowania i obsługi modeli uczenia głębokiego w języku, który już znają.

DJL jest zbudowany z natywnych koncepcji Java na podstawie istniejących frameworków głębokiego uczenia. Oferuje użytkownikom dostęp do najnowszych innowacji w głębokim uczeniu się i możliwość pracy z najnowocześniejszym sprzętem. Proste interfejsy API eliminują złożoność związaną z opracowywaniem modeli uczenia głębokiego, dzięki czemu są łatwe do nauczenia i łatwe do zastosowania. Dzięki dołączonemu zestawowi wstępnie wytrenowanych modeli w model-zoo użytkownicy mogą natychmiast rozpocząć integrację głębokiego uczenia się ze swoimi aplikacjami Java.

AWS

* Inne platformy obecnie nie są obsługiwane.

Uczenie głębokie przenika do przedsiębiorstw w różnych przypadkach użycia. W sprzedaży detalicznej służy do prognozowania popytu klientów i analizowania interakcji klientów z chatbotami. W przemyśle motoryzacyjnym służy do nawigacji pojazdów autonomicznych i wyszukiwania wad jakościowych w produkcji. A w branży sportowej zmienia sposób rozgrywki dzięki coachingowi w czasie rzeczywistym i spostrzeżeniom treningowym. Wyobraź sobie, że możesz modelować ruchy przeciwników lub określić, jak ustawić swój zespół za pomocą modeli głębokiego uczenia. W tym artykule możesz dowiedzieć się, jak Seattle Seahawks wykorzystuje głębokie uczenie się do informowania o strategii gry i przyspieszania podejmowania decyzji.

W tym poście udostępniamy przykład, który trafił w gusta fanów piłki nożnej w naszej drużynie. Pokazujemy model wykrywania zastrzeżeń, który identyfikuje graczy na podstawie obrazu przy użyciu wstępnie wyszkolonego modelu detektora pojedynczego strzału z DJL model-zoo. Możesz uruchomić ten przykład w systemie Linux i macOS.

Aby użyć DJL z projektem aplikacji, utwórz projekt gradle za pomocą IntelliJ IDEA i dodaj następujące elementy do konfiguracji build.gradle.

AWS

Uwaga: zależności środowiska wykonawczego MXNet są różne w środowiskach Linux i macOS. Zapoznaj się z  dokumentacją GitHub .

Używamy tego obrazu piłki nożnej do wykrywania.

AWS

Uruchamiamy prognozowanie z blokiem kodu udostępnionym poniżej. Ten kod ładuje model SSD z zoo modelu, tworzy  Predictor z modelu i używa  predict funkcji do identyfikacji obiektów w obrazie. Następnie pomocnicza funkcja narzędziowa wyznacza ramki ograniczające wokół wykrytych obiektów.

AWS

Ten kod identyfikuje trzech graczy w obrazie i zapisuje wynik jako ssd.png w katalogu roboczym.

AWS

Ten kod i bibliotekę można łatwo dostosować do testowania i uruchamiania innych modeli z model-zoo. Ale zabawa na tym się nie kończy! Możesz użyć modelu odpowiadania na pytania, aby wyszkolić własnego asystenta tekstowego lub modelu klasyfikacji obrazu, aby zidentyfikować obiekty na półce w sklepie i wiele innych. Więcej przykładów znajdziesz w naszym repozytorium Github.

W tym poście przedstawiliśmy DJL, nasz skromny wysiłek, aby zaoferować użytkownikom Java najnowsze i najlepsze doświadczenie w programowaniu w głębokim uczeniu się. Zademonstrowaliśmy, jak DJL może wykrywać obiekty z obrazów w ciągu kilku minut za pomocą naszego wstępnie wytrenowanego modelu. Udostępniamy znacznie więcej przykładów i dodatkową dokumentację w repozytorium DJL GitHub.

Cieszymy się z udziału społeczności w naszej podróży. Udaj się do naszego repozytorium Github i dołącz do naszego kanału slack, aby rozpocząć.