[解決済み] TensorFlow、モデル保存後に3つのファイルが存在するのはなぜか?
2022-07-05 23:21:45
質問
このページでは
ドキュメント
を読んで、モデルを
TensorFlow
に保存しています。以下は私のデモコードです。
# Create some variables.
v1 = tf.Variable(..., name="v1")
v2 = tf.Variable(..., name="v2")
...
# Add an op to initialize the variables.
init_op = tf.global_variables_initializer()
# Add ops to save and restore all the variables.
saver = tf.train.Saver()
# Later, launch the model, initialize the variables, do some work, save the
# variables to disk.
with tf.Session() as sess:
sess.run(init_op)
# Do some work with the model.
..
# Save the variables to disk.
save_path = saver.save(sess, "/tmp/model.ckpt")
print("Model saved in file: %s" % save_path)
が、その後、3つのファイルがあることがわかりました。
model.ckpt.data-00000-of-00001
model.ckpt.index
model.ckpt.meta
をリストアしてもモデルは復元できません。
model.ckpt
というファイルが存在しないため、モデルを復元することができません。以下は私のコードです。
with tf.Session() as sess:
# Restore variables from disk.
saver.restore(sess, "/tmp/model.ckpt")
では、なぜ3つのファイルがあるのでしょうか?
どのように解決するのですか?
これを試してみてください。
with tf.Session() as sess:
saver = tf.train.import_meta_graph('/tmp/model.ckpt.meta')
saver.restore(sess, "/tmp/model.ckpt")
TensorFlowの保存メソッドは、3種類のファイルを保存します。
グラフ構造
とは別に
変数値
. そのため
.meta
ファイルには保存されたグラフ構造が記述されているので、チェックポイントを復元する前にインポートする必要があります (そうしないと、保存されたチェックポイントの値がどの変数に対応するのかが分からなくなります)。
別の方法として、このようにすることもできます。
# Recreate the EXACT SAME variables
v1 = tf.Variable(..., name="v1")
v2 = tf.Variable(..., name="v2")
...
# Now load the checkpoint variable values
with tf.Session() as sess:
saver = tf.train.Saver()
saver.restore(sess, "/tmp/model.ckpt")
という名前のファイルがないにもかかわらず
model.ckpt
という名前のファイルがなくても、保存したチェックポイントをリストアするときにこの名前で参照します。このため
saver.py
ソースコード
:
ユーザーは、物理的なパス名ではなく、ユーザーが指定したプレフィックス...を操作する必要があるだけです。 を操作するだけです。
関連
-
EnvironmentErrorのため、パッケージをインストールできませんでした。[Errno 13] パーミッションが拒否された問題を解決しました。
-
TensorFlowの問題:AttributeError:'NoneType'オブジェクトには'dtype'という属性がない。
-
tensorflow Solutionに一致するディストリビューションは見つかりませんでした。
-
tf.get_variable_scope() 共通の使用法
-
TensorFlow学習 - Tensorflowオブジェクト検出API (win10, CPU)
-
Keras-Yolo v3 のエラーを解決する。AttributeError: モジュール 'keras.backend' には 'control_flow_ops' という属性がありません。
-
TensorFlowプログラムのGPU使用量無制限を解決する。
-
AttributeError: module 'tensorflow' has no attribute 'keras'related problem solution
-
TensorFlowのインストールにpipを使うのをやめ、condaを使う(CPU & GPU)
-
[解決済み] 学習後のモデルを保存・復元する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Running tensorflow program prompts Your CPU supports instructions that this TensorFlow binary was not compiled to use:
-
undefined警告 お使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX2
-
undefinedエラーを解決してください。お使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX AVX2
-
EnvironmentErrorのため、パッケージをインストールできませんでした。[Errno 13] パーミッションが拒否された問題を解決しました。
-
TensorFlowの問題:AttributeError:'NoneType'オブジェクトには'dtype'という属性がない。
-
tensorflow Solutionに一致するディストリビューションは見つかりませんでした。
-
TensorflowでProcess finished with exit code -1073741819 (0xC0000005)が発生した場合の解決策。
-
tf.get_variable_scope() 共通の使用法
-
TensorFlow学習 - Tensorflowオブジェクト検出API (win10, CPU)
-
AttributeError: module 'tensorflow' has no attribute 'keras'related problem solution