2017-07-19 80 views
1

我用张量流编写代码。我将标签存储在名为(标签[])的列表中。标签列表包含字符。 e.g使用张量流创建字符列表TFrecords中的功能

标签[A,A,B,B]

欲写在TFRecords标签元件文件。我应该声明特征例如,

def _int64_feature(value): 
    return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) 

我的问题是我应该怎么用,而不是tf.train.int64List是适合我的情况?

另外,我使用了这两个教程,如下图所示,但我想另一个教程请解释我的问题。

TFrecords Guid

How to write into and read from a TFRecords file in TensorFlow

回答

1

TFRecords是一种类型的二进制格式的文件。因此,目标是将JPG图像转换为字符串,然后保存在TFRecord中。这使得快速阅读。

这可以在教程中看到,首先使用image.tostring()将图像转换为raw_img。然后根据数据类型int64或字节将其保存在TFRecord中。

既然你的图像是JPG格式,我假设他们被保存为字节(0-255)。因此,对于列表中的每个图像,将其转换为字符串,然后教程中的函数_bytes_feature(value)

既可以在TFRecord中保存高度,宽度和深度,也可以将它们保存为参数,因为您需要这些尺寸才能将字符串重新转换为图像。

对于标签,您可以将ascii字符转换为其二进制表示形式。可以这样做:

>>> ord('a') 
97 

这是表示字母的数字,代表1-127。这是字节格式,因此字节功能可以再次使用。

以信价值转换回实际的字母,所有你需要做的是:

>>> chr(97) 
'a' 

希望这有助于!

+0

谢谢你提供的信息,它是帮助,但这不是我想要的。我对jpg图像没有问题。它只是解释我在代码中做了什么。我的问题是在标签和** tf.train.Int64List ** – AAA

+0

更新了关于如何去标签的答案! – MarkCutajar

+0

我更新了我的问题,以便更清楚。我会尝试使用chr()和ord()。 谢谢 – AAA

相关问题