最新版(v0.12.0rc)にてチェックポイントが読み込めない事による不具合が発生。
v0.12ではtf.train.Saver
によって*.meta
だけでなく*.index
などが生成されるなど、生成物の名前にも違いが出る。これにより既存のtf.train.Saver
により生成したチェックポイントを読み込む際に失敗する可能性がある(特に、チェックポイントをファイル名で直接参照しているプログラム)。
対応策
プログラムでは、きちんとtf.train.Saver.last_checkpoints
によりチェックポイントのリストを取得する、またはtf.train.latest_checkpoint
によりlatestに指定されたチェックポイントのパスを取得すること。
なお、暫定の対応としてtf.train.Saver
のコンストラクタにwrite_version=1
を指定することで既存(V1)のフォーマットを使用できる(v0.12ではデフォルトでwrite_version=2
が指定されるように変更されている)。既存コードを移植する際にチェックポイント周りでエラーが起きた場合はwrite_version=1
により解決する場合がある。
ちなみに、数日前にTensorFlowのAPIリファレンスのデザインが一新された。
Saverはこちら。
References
[ISSUE] seq2seq checkpoints not working #6274 https://github.com/tensorflow/tensorflow/issues/6274