【发布时间】:2019-01-22 19:41:33
【问题描述】:
大家好,
我正在使用 tensorflow 来解决一些机器学习问题,并且在考虑检查点时遇到了一个不明白的问题。保存检查点会生成元、索引和数据文件。 但是数据文件末尾的数字是什么意思,例如 model.ckpt.data-00000-of-00001? 为什么总是 00000-of-00001?
【问题讨论】:
标签: tensorflow checkpoint
大家好,
我正在使用 tensorflow 来解决一些机器学习问题,并且在考虑检查点时遇到了一个不明白的问题。保存检查点会生成元、索引和数据文件。 但是数据文件末尾的数字是什么意思,例如 model.ckpt.data-00000-of-00001? 为什么总是 00000-of-00001?
【问题讨论】:
标签: tensorflow checkpoint
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。
【讨论】: