TensorFlow对象检测API首选TFRecord文件格式。 MXNet和Amazon Sagemaker似乎使用RecordIO格式。这两种二进制文件格式有什么不同,或者它们是同一回事?
答案 0 :(得分:1)
RecordIO和TFRecord具有相同的用途,即它们具有相同的用途-将数据放入一个序列以更快地读取,并且两者都在后台使用协议缓冲区来更好地分配空间。
在我看来,RecordIO更像是一个笼统的术语:一种用于将大量数据存储在一个文件中以便更快读取的格式。一些产品采用“ RecordIO”作为实际术语,但在Tensorflow中,他们决定为此使用一个特定的词TFRecord。这就是为什么有人将TFRecord称为“ TensorFlow风格的RecordIO格式”的原因。
没有单独的RecordIO格式。来自Apache Mesos的人,也称其格式为RecordIO,say:“由于RecordIO格式没有正式规范,因此RecordIO实现之间往往存在一些不兼容性。”而且它们的RecordIO格式与MXNet所使用的格式不同-我看不到每个记录开头的“魔术数字”。
因此,在结构级别TFRecord of Tensorflow和RecordIO of MXNet是不同的文件格式,例如您不希望MXNet能够读取TFRecord,反之亦然。但是从逻辑上讲-它们具有相同的目的,可以被认为是相似的。