前提・実現したいこと
JavaでのWebアプリケーション開発を5年ほど経験しているエンジニアです。
現在、新規プロジェクトでAI・機械学習機能の導入を検討しており、特にディープラーニングを用いた画像認識機能の実装を担当することになりました。
プロジェクトの既存システムやチームの技術スタックがJava中心であるため、可能な限りPython等を使わずにJavaで開発を完結させたいと考えています。
最終的な目標は、独自のデータセットを用いて画像分類モデルを学習させ、そのモデルをJavaアプリケーションに組み込んで推論(画像判定)サービスを提供することです。
しかし、Javaでディープラーニングを実装しようとした際に、どのライブラリを選択するのが最適なのか、判断基準がわからず困っています。
自分で調べたこと・試したこと
Javaで利用できるディープラーニングライブラリについて調査し、以下の候補が見つかりました。
1. Deeplearning4j (DL4J)
- JavaネイティブでJVM上で動作するため、親和性が高そうだと思いました。
2. TensorFlow Java API
- Python版TensorFlowで学習したモデルをJava環境で読み込んで推論できるのは非常に強力だと感じました。
3. Deep Java Library (DJL)
- 比較的新しいライブラリのようですが、大手企業がバックについている安心感があります。
これらの情報を踏まえ、以下の点で悩んでいます。
- 学習から推論までJavaで一貫して開発する場合、どのライブラリが最も適しているか。
補足情報
- Javaバージョン:
Java 17
- IDE: IntelliJ IDEA
- まずは入門として手書き文字認識のようなタスクをJavaで実装してみたいです
Javaでのディープラーニング実装経験が豊富な方、あるいは各ライブラリに詳しい方がいらっしゃいましたら、パフォーマンス、開発のしやすさ、ドキュメントの充実度など、様々な観点からのご意見をいただけますと大変助かります。
よろしくお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。