コメント 0

Watson Machine Learningへのモデルのデプロイはフレームワークのバージョン制限が厳しい

あるプロジェクトでWatson Machine Learning(以下、Watson ML)に、TensorFlowとKerasで作ったモデルをデプロイしているのですが、これが使えなくなってしまいました・・・。

いままでは、下記のようなバージョンのTensorFlowとKerasで作ったモデルをデプロイしていました。

TensorFlow 1.14.0と、Keras 2.2.4ですね。

それが、ある日突然(というわけでもないのでしょうが・・・)使えないようになり、再度デプロイしようとすると、こんなエラーになってしまいます。

TensorFlow 1.14じゃダメだというわけです。このメッセージにあるURLにアクセスしてみると、こんなことが書いてあります。

due to a recent security vulnerability for multiple TensorFlow versions, Watson Machine Learning (WML) will deprecate unsecure TensorFlow versions, including 1.13 and 1.14.

TensorFlow 1.14はセキュリティの脆弱性が有り、Watson MLでのサポートは廃止だということです。で、どうすれば良いかというと・・・

You have the following upgrade options:
TensorFlow 1.15
Keras 2.2.5 with TensorFlow 1.15 backend

TensorFlow 1.15でモデルを作るか、TensorFlow 1.1.5をバックエンドにしたKeras 2.2.5でモデルを作って、それをデプロイするしかなさそうです。

また、調べてみると、IBM Cloudから、このような資料がありました。

Keras
Keras 2.2.5 with TensorFlow 1.15 in an Anaconda 2019.03 environment
Deployment: online and batch only.
Core ML
Only JSON content is supported as the payload for scoring.
tf.estimator is not supported.
User-defined layers with trainable weights are not supported. However, stateless custom operations defined using layers.core.Lambda layers are supported with online deployment.
Online deployment uses Python 3.6.

やはりKeras 2.2.5とTensorFlow 1.15は必須のようです。
他にもいろいろ書いてあるのですが、実際にモデルを作り直して、デプロイを試しつつ、動作を確認していこうと思います。

Follow me!

コメントを残す