CodeLab技術ブログ

プログラミング技術まとめ

keras-logo-small

keras+tensorflowで終了処理でエラーが発生する

kerasで終了処理でエラーが発生します。

Exception ignored in: <bound method BaseSession.__del__ of <tensorflow.python.client.session.Session object at 0x000002638C36DEB8>>
Traceback (most recent call last):

終わった後なので、通常は特に問題はないのですが、Sequential()でモデルを新しく取得しなおして、パラメータを変えて再実行する際にもよくわからないエラーが発生して継続できないようです。

解決方法

kerasのAPIの中に開放処理とか初期化処理的なものがないのか見てみたのですがそれっぽいものなかったのですが、backend\tensorflow_backend.pyの中にそれっぽいものがあったので呼んでみたら問題なくなったようです。
これでよいのかどうかはよくわかりませんが…。

#バックエンドをインポート
from keras.backend import tensorflow_backend as backend

#処理終了時に下記をコール
backend.clear_session()

なお各ライブラリのバージョンは以下の通りです。
Tensorflow 1.01
Keras 2.0.2
これより新しいものがもうあるようですので、更新すれば問題はないのかもしれませんが念のため共有。

コメントは受け付けていません。