python - 如何在 Tensorflow 中读取二进制文件

标签 python tensorflow binaryfiles

我正在尝试读取tensorflow中的二进制文件。 我想问一下,我应该使用哪种方法,以及如何读取二进制文件。 在tensorflow中,他们建议使用tf.data中的数据集。 但我找不到使用数据集的简单示例,尤其是FixedLengthRecordDataset。我想我应该使用这个方法,但我不知道如何使用。

[hg file] := [file header] [image1] [image2] [image3] ...

[file header] := "hg  " (8 bytes)

[imageN] := [image header] [image data]

[image header] := [code(2 bytes)] [width (1 byte)] [height(1 byte)] [reserved(2 bytes)]

[image data] := 256 gray data (width * height bytes, row-major format)

这是我的二进制文件的格式。

请给我一些关于这项工作的建议。

编辑:所有图像都有不同的尺寸。所以也许我不能使用FixedLengthRecordDatasest。我想我必须将所有图像转换为相同大小的数据集

最佳答案

我相信您需要编写自己的数据集读取器操作来解析该格式。 FixedLengthRecordDataset's implementation将是开始构建代码的好地方(但正如您所注意到的,您描述的记录不是固定长度的)。

我建议重新编码 tf.train.Example Protocol Buffer 中的图像,然后 using a TFRecordDataset for input 。这样解析就已经为你写好了;您应该能够使用任何语言创建 tf.train.Example 原型(prototype)。

关于python - 如何在 Tensorflow 中读取二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944611/

相关文章:

python - 舍入到 python 字典中的键

c - 读取二进制文件时如何分别对每个结构体字段使用 fread() ?

python - 如何计算数据框中所有等于条件的选定单词?

Python/Django 日期时间比较

android - 如何使用经过训练的 keras 模型在 Android 应用程序中进行分类

python - Tensorflow - 有没有办法实现张量图像剪切/旋转/平移?

tensorflow - 构建适用于 Android 的 TensorFlow Lite 时出现问题

java - 逐字节读取二进制文件

Java读取二进制文件(unsigned long long)

python - 如何从pyodbc中的用户获取表名,同时避免SQL注入(inject)?