tensorflow 模型:.data-00000-of-00002 和 ,data-00001-of-00002 有啥区别?
Posted
技术标签:
【中文标题】tensorflow 模型:.data-00000-of-00002 和 ,data-00001-of-00002 有啥区别?【英文标题】:tensorflow model: what is the difference between .data-00000-of-00002 and ,data-00001-of-00002?tensorflow 模型:.data-00000-of-00002 和 ,data-00001-of-00002 有什么区别? 【发布时间】:2020-02-07 09:38:42 【问题描述】:在存储一个tensorflow ckpt时,除了.index、.meta和checkpoint文件之外,还有两个“.data”文件同时保存:.data-00000-of-00002和.data-00001-of- 00002。前者的尺寸远小于后者。我的问题是,为什么保存了两个数据文件,它们之间有什么区别?
【问题讨论】:
【参考方案1】:据tensorflow官方page报道:
一个或多个分片(<prefix>-<global_step>.data-<shard_index>-of-<number_of_shards>
)包含模型的权重,索引文件包含哪些权重存储在哪个分片中。分片数量取决于您用于训练的机器数量。
因此,如果您在两台机器上训练一个模型,您将拥有两个带后缀的分片:.data-00000-of-00002
和 .data-00001-of-00002
您也可以查看this url。
在实例化tf.train.Saver
时,您可以设置参数sharded
的值(默认值为False
)。 sharded=True
指示 Saver 对每台机器/设备的检查点进行分片。
【讨论】:
以上是关于tensorflow 模型:.data-00000-of-00002 和 ,data-00001-of-00002 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
使用docker+tensorflow-serving进行模型热部署