SWEet

A Software Engineer Is Eating Technologies

【Tensorflow with Keras】 Warning on loading model

妙にハマったのでメモ

Kerasでweightを保存してロードしようとした

Save

model.save_weights("model.hdf5", save_format="h5")

Load

model.load_weights("model.hdf5")

これでロード時にWarinigが出た

2019-03-28 03:56:35.810375: W tensorflow/core/util/tensor_slice_reader.cc:95] Could not open model.hdf5: Data loss: not an sstable (bad magic number): perhaps your file is in a different file format and you need to use a different restore operator?

ちゃんと保存したはずなのにフォーマットが違うと怒られる

調べてみると次のようなissueが上がっていた

github.com

上記の処理は Tensorflow-gpu 1.12 で行なっていたがこのバージョンでもまだ修正されていなかったらしい

なので拡張子を hdf5 => h5 に修正したらうまくいった.

普通にファイル読み込んでヘッダ確認する実装にすればいいじゃんと思ったけどなんでそうしなかったんだろう・・・