実現したいこと
GoogleColab上で、KerasのモデルをTFLiteに変換して保存したい。
発生している問題・分からないこと
1週間ほど前まで動いていた、画像分類モデルを作るコードが突然動かなくなりました。モデル自体は作れるが、これをTFLiteのモデルとして保存することができません。エラーメッセージを見ると、「model.save('/content/saved_model/myModel')」という部分で、myModelに拡張子をつけてmyModel.kerasとせよとあったので、そうすると、この部分は動き、Kerasのモデルを保存することができました。
ところが、そのあとでこれをTFLiteに保存する部分で、エラーが起きます。変換すべきモデルが指定されたパスに存在しないといったエラーメッセージが出るが、実際にはそこにはモデル(myModel.keras)が表示されています。ただ、以前はここにはフォルダがあって、その中に.pbという拡張子のついたファイルなどいくつかがあったように記憶していますので、model.save()のところで拡張子をつけたことによって、保存のしかたが変わってしまったような気がしています。
エラーメッセージ
error
1OSError Traceback (most recent call last) 2<ipython-input-30-906685e7ef33> in <cell line: 7>() 3 5 model.save('/content/saved_model/myModel.keras') 4 6 5----> 7 converter = tf.lite.TFLiteConverter.from_saved_model('/content/saved_model/myModel.keras') 6 8 tflite_model = converter.convert() 7 9 8 94 frames 10/usr/local/lib/python3.10/dist-packages/tensorflow/python/saved_model/loader_impl.py in parse_saved_model(export_dir) 11 117 raise IOError(f"Cannot parse file {path_to_pbtxt}: {str(e)}.") from e 12 118 else: 13--> 119 raise IOError( 14 120 f"SavedModel file does not exist at: {export_dir}{os.path.sep}" 15 121 f"{{{constants.SAVED_MODEL_FILENAME_PBTXT}|" 16 17OSError: SavedModel file does not exist at: /content/saved_model/myModel.keras/{saved_model.pbtxt|saved_model.pb}
該当のソースコード
Python
1model.save('/content/saved_model/myModel.keras') 2converter = tf.lite.TFLiteConverter.from_saved_model('/content/saved_model/myModel.keras') 3tflite_model = converter.convert() 4
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
モデルを保存する方法として、.kerasという拡張子をつける以外に.h5という拡張子をつける方法(レガシー)もあるということなので、それを試したが結果は変わらなかった。
Googleで類似の問題について調べたが、該当するものを見つけられなかった。
補足
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/09/07 02:04 編集
2024/09/07 12:30