はじめに
ElyraでPythonの機械学習パイプラインを作成してAzureにデプロイしたところ見たことのないエラーが発生しました。
また、エラーのタイミングが毎回異なったり、内容が変わったりと謎の現象が起きました
ネットには記事が中かったためまとめたいと思います。
問題
Elyraでパイプラインを実行したところ以下のエラーが発生しました。
Error making request
Unexpected end of JSON input
Check the JupyterLab log for more details
また別のタイミングではこのようなものも(同じパイプラインを実行しています)
Error making request
Unexpected token G in JSON at position 6
Check the JupyterLab log for more details
エラーはログではなくJupyteLabのモーダルとして表示されました
ローカルでは問題なく実行できて遭遇したことのないエラーでしたが、Azureだと不規則に発生していました。
解決方法
問題はAzureのWebAppのメモリが足りていないことに起因していました。
利用していたのは3.5GBで、機械学習を動かすのは厳しい状態でした。メモリが落ちるとパイプラインが止まり、メモリが解放されて再度手前から実行されていました。
なのでDockerログを見ると同じ個所が何度か実行されていました。
JupyterLabのログは左下から確認が可能です。
メモリを解放するためには不要なノートブックはシャットダウンする、メモリを都度開放するなどが必要になります
ですがさすがに3.5GBは厳しいので、メモリが大きいのに変更しました
おわりに
見覚えのないエラー、Elyraの記事が少ないというところで色々検証した結果ここまで行きつきました