Tensorflow 如何将TFRecords转换为numpy数组?
其主要思想是将tfrecord转换为numpy数组。假设TFR记录存储图像。具体而言:Tensorflow 如何将TFRecords转换为numpy数组?,tensorflow,Tensorflow,其主要思想是将tfrecord转换为numpy数组。假设TFR记录存储图像。具体而言: 读取TFRecord文件并将每个图像转换为numpy数组 将图像写入1.jpg、2.jpg等 同时,将文件名和标签写入文本文件,如下所示: 我目前使用以下代码: 将tensorflow导入为tf 导入操作系统 def读取和解码(文件名队列): reader=tf.TFRecordReader() _,序列化的\u示例=reader.read(文件名\u队列) features=tf.parse_单个_示例(
将tensorflow导入为tf
导入操作系统
def读取和解码(文件名队列):
reader=tf.TFRecordReader()
_,序列化的\u示例=reader.read(文件名\u队列)
features=tf.parse_单个_示例(
序列化的_示例,
#由于两个键都是必需的,因此未指定默认值。
特征={
“image_raw”:tf.FixedLenFeature([],tf.string),
“标签”:tf.FixedLenFeature([],tf.int64),
“高度”:tf.FixedLenFeature([],tf.int64),
“宽度”:tf.FixedLenFeature([],tf.int64),
“深度”:tf.FixedLenFeature([],tf.int64)
})
image=tf.decode\u raw(特征['image\u raw',tf.uint8)
label=tf.cast(特性['label'],tf.int32)
高度=tf.cast(特征['height'],tf.int32)
宽度=tf.cast(特征['width'],tf.int32)
depth=tf.cast(特性['depth'],tf.int32)
返回图像、标签、高度、宽度、深度
使用tf.Session()作为sess:
filename\u queue=tf.train.string\u input\u producer([“./data/svhn/svhn\u train.tfrecords”])
图像、标签、高度、宽度、深度=读取和解码(文件名\u队列)
image=tf.reforme(图像,tf.pack([高度,宽度,3]))
image.set_形状([32,32,3])
初始化所有变量()
sess.run(初始化操作)
打印(image.eval())
我只是在读一篇文章,试图为初学者至少获得一张图片。当我运行这个程序时,代码就卡住了。哎呀,我犯了一个愚蠢的错误。我使用了字符串\u输入\u生成器,但忘记运行队列\u运行程序 将tf.Session()作为sess的
:
filename\u queue=tf.train.string\u input\u producer([“./data/svhn/svhn\u train.tfrecords”])
图像、标签、高度、宽度、深度=读取和解码(文件名\u队列)
image=tf.reforme(图像,tf.pack([高度,宽度,3]))
image.set_形状([32,32,3])
初始化所有变量()
sess.run(初始化操作)
coord=tf.train.Coordinator()
线程=tf.train.start\u queue\u runner(coord=coord)
对于范围(1000)内的i:
例如,l=sess.run([image,label])
打印(示例,l)
协调请求停止()
坐标连接(线程)
希望我能投更多的票。我到处找这个!非常感谢你!堆栈溢出应添加“捐赠给参与者”按钮注意,自tf 1.0以来,tf.pack()
已更改为tf.Stack()
1.jpg 2
2.jpg 4
3.jpg 5