tensorflow:读取不同类型的二进制文件

时间:2016-07-18 12:40:37

标签: python numpy neural-network tensorflow deep-learning

在tensorflow的cifar10 example中,他们使用以下代码从binary file中读取图片:

image_bytes = result.height * result.width * result.depth

record_bytes = label_bytes + image_bytes
reader = tf.FixedLengthRecordReader(record_bytes=record_bytes)
result.key, value = reader.read(filename_queue)

# Convert from a string to a vector of uint8 that is record_bytes long.
record_bytes = tf.decode_raw(value, tf.uint8)

我的问题是我有一个类似的二进制文件,但有不同的类型(不像CIFAR10,只有第一个字节被强制转换为tf.int32)。我的二进制文件的记录(行)类似于:

<1 x label (binary)> TYPE * 100

其中TYPE

<1 x float8> < 500 x binary> <1 x float8> <100 x binary>

即。我有一个二进制标签,后跟前一个字节序列的100倍。

我尝试使用tf.decode_raw一系列类型,就像有人会在numpy中做的那样,但它不接受列表或类型元组。

知道如何直接在tensorflow中读取我的二进制文件吗?或者,任何想法如何有效地读取 记录并将它们放在具有给定形状的placeholders中?

0 个答案:

没有答案