第5回 Java WebアプリでTensorFlow(実装編) (1/4)

技術特集

1_tensorflow_keras1_tit

tit_tensorflow_keras

第5回は、TensorFlowモデルを実利用するにあたり、前回検討した「Pythonでモデルを構築し、それをJavaから利用する」仕組みをTensorFlow Servingを用いて実現していきます。

記事内で必要に応じてPython等のコードを示すことがありますが、言語自体の機能や構文に関する解説は割愛させていただきますのでご了承ください。
なお、この記事にて掲載しているコードはすべてMITライセンスのもと利用を許諾するものとします。

TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.

1) おさらい:Pythonで作ってJavaから使いたい

前回の記事では、Javaで書かれている既存アプリケーションに「AI機能」を組み込む、という明日にも我が身に降りかかりそうな状況を想定し、ディープラーニングの学習済みモデルを利用する方式を検討しました。

結論としては、学習済みモデルの部分を既存アプリケーションとは独立したサービスとして構成することで多くのベネフィットが得られそうということでした。
TensorFlowを使っていればTensorFlow Servingを用いて簡単に学習済みモデルをサービス化することができますので、今回はTensorFlow Servingを利用して実際に仕組みを構築していきます。

本記事では以下のような手順で実装方法を紹介していきます:

  1. Pythonから学習済みモデルを書き出す
  2. TensorFlow Serving環境を構築しサーバを起動
  3. Javaから利用できることを確認する