如何解决tf.data.experimental.save VS TFRecords
我已经注意到,方法tf.data.experimental.save
(在r2.3中添加)允许将tf.data.Dataset
保存到仅一行代码中的文件中,这似乎非常方便。序列化tf.data.Dataset
并将其自己写入TFRecord还是有一些好处,还是应该使用此保存功能来代替此过程?
解决方法
TFRecord有很多好处,尤其是在使用大型数据集时。 TFRecord-如果使用大型数据集,则使用二进制文件格式存储数据可能会对导入管道的性能产生重大影响,并因此而对模型的训练时间产生重大影响。二进制数据占用磁盘上较少的空间,花费较少的时间进行复制,并且可以从磁盘更有效地进行读取。如果您的数据存储在旋转磁盘上,则尤其如此,因为与SSD相比,其读写性能要低得多。
如果您不担心导入管道的性能, tf.data.experimental.save
和tf.data.experimental.load
会很有用。
tf.data.experimental.save-保存的数据集保存在多个文件“碎片”中。默认情况下,数据集输出以循环方式划分为碎片。通过tf.data.experimental.save
保存的数据集只能通过tf.data.experimental.load
进行使用,这可以保证向后兼容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。