首页 > 解决方案 > TensorFlow 检查点保存数据文件

问题描述

今天是个好日子,

我正在使用 tensorflow 来解决一些机器学习问题,并且在考虑检查点时遇到了一个不明白的问题。保存检查点会生成元、索引和数据文件。但是数据文件末尾的数字是什么意思,例如model.ckpt.data-00000-of-00001?为什么总是 00000-of-00001?

标签: tensorflowcheckpoint

解决方案


一个tf.training.Saver实例化时有一个sharded默认设置为 false 的参数。

sharded:如果为 True,则对检查点进行分片,每台设备一个。

save()根据文档,当您调用时:

返回: 字符串:用于检查点文件的路径前缀。如果保护程序被分片,则此字符串以:'-?????-of-nnnnn' 结尾,其中'nnnnn' 是创建的分片数。如果 saver 为空,则返回 None。

因此,如果您设置sharded=True并在多个设备上进行训练,例如使用 GPU 集群,或者简单地以本地机器为例,您的模型的一部分在 CPU 中,另一部分在 GPU 中,您将获取:data-00000-00002 和 data-00001-of-00002。


推荐阅读