如何在没有索引文件和元文件的情况下恢复张量流模型?

用户5746429

新的检查点格式生成三个文件:model.ckpt-1000.data-00000-of-00001, model.ckpt-1000.meta, model.ckpt-1000.index. 旧的检查点格式只生成两个文件:model.ckpt-1000model.ckpt-1000.meta.

当我使用代码saver.restore(sess, './model.ckpt-1000')恢复使用新检查点格式编写的模型时,它可以成功恢复模型。现在当前目录有三个文件model.ckpt-1000.data-00000-of-00001model.ckpt-1000.meta, model.ckpt-1000.index. 如果我删除model.ckpt-1000.index,则无法恢复模型。错误信息:DataLossError (see above for traceback): Unable to open table file ./model.ckpt-1000: 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?

但我注意到 tensorflow 预训练模型只有一个文件:*.ckpt. 当我使用tensorflow提供的预训练模型时,它可以成功恢复。它不需要*.index文件。

我的 tensorflow 版本是 1.1.0。

它是如何保存模型的?它是否使用旧的检查点格式?

哑糖

我相信它确实使用了旧的检查点格式。这是我用来验证的一个简单示例:

import tensorflow as tf

slim = tf.contrib.slim

x = tf.placeholder(tf.float32, [None, 16])
y = slim.fully_connected(x, 4)

saver_v1 = tf.train.Saver(write_version=tf.train.SaverDef.V1)

saver_v2 = tf.train.Saver()

with tf.Session() as sess:

    sess.run(tf.global_variables_initializer())

    saver_v1.save(sess, 'model_v1.ckpt',
                  write_meta_graph=False,
                  write_state=False)

    saver_v2.save(sess, 'model_v2.ckpt',
                  write_meta_graph=False,
                  write_state=False)

ls model*运行脚本后的结果

model_v1.ckpt  model_v2.ckpt.data-00000-of-00001  model_v2.ckpt.index

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在没有ini和zip文件的情况下创建zip存档

如何在没有熊猫的情况下读取,格式化,排序和保存csv文件?

如何在没有临时文件的情况下将流从Web API传递到Azure Blob存储?

如何在没有GPU的情况下使用GPU开发张量流

如何在没有web.config的情况下从Azure公开和提供WOFF文件?

如何在未定义变量的情况下保存张量流模型(省略标签张量)

如何在没有文件的情况下备份启用了大文件流的数据库

如何在不使张量板混乱的情况下在张量流中恢复模型?

如何在没有部署清单文件的情况下确定IoT Edge上不同模块之间的数据流

如何在没有copyFile的情况下复制文件

如何在没有张量流警告的情况下运行python代码

如何在execv()的一行中没有父文件和根文件的情况下进行tar压缩

如何在没有表格的情况下上传文件

如何在没有大文件大小的情况下将JPG转换为PDF?

如何在没有root许可的情况下挂载映像文件?

git reset --soft如何在不接触索引文件的情况下重置最后的提交?

如何在没有ibdata1和* .ibd文件的情况下还原innodb表

如何防止代码在没有文件的情况下运行

我如何在没有sudo的情况下删除根拥有的文件

如何在没有权限的情况下删除文件

如何在没有cmd的情况下编译和运行Java文件?

如何在没有文件的情况下使用MultipartContent?

如何在没有循环的情况下打印ArrayList的值和索引号?

如何在没有权限错误或无需多次登录的情况下远程查找和复制文件?

PHP-如何在没有任何数组编号和箭头的情况下将数组写入文件?

如何在没有索引的情况下将 Python 字典保存到 csv 文件?

如何在没有索引值的情况下遍历?

如何在没有 Ajax 的情况下将 PHP 文件连接到 HTML 文件

如何使用 PowerShell 在没有索引的情况下访问 JSON 文件中的数组对象