☠️

Jupyter tensorflowで学習するとき、長時間たったらKernel Crashになる原因の1つ

2023/12/04に公開

日本語記事がなかったので。

Jupyter上でTensorflowを使って機械学習をするとき、学習自体はうまく行っているが長時間たつとKernel Crashになることがある。
たとえば、独立したAgentが大量にあるようなケースである。
このようなとき、利用中のメモリに注目したい。おそらくメモリが大量に食っていることだろう。
なぜメモリを食いまくっているかというと、ipythonのコマンド履歴をすべてメモリ上においているからだ。
これを防ぐために、

ipython --HistoryManager.enabled=False

などとして、コマンド履歴を無効化することをおすすめする。
実験室レベルであればこれでもよいが、デバッグ中の環境やデプロイ時はエラーの発見が遅れる可能性があるので、オプションの設定はipythonのリファレンスを参照されたい。

Discussion