1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > tensorflow随笔-读取图像文件数据(2)-TFRecord

tensorflow随笔-读取图像文件数据(2)-TFRecord

时间:2019-11-09 07:31:04

相关推荐

tensorflow随笔-读取图像文件数据(2)-TFRecord

写文件

代码如下

# -*- coding: utf-8 -*-"""Created on Tue May 7 18:29:30 @author: liuxing@email:lx@"""import tensorflow as tfimport os#tf.train.match_filenames_once 函数产生文件名列表imageFN=os.getcwd()+'/*.jpg'imageFileName=tf.train.match_filenames_once(imageFN)fileNameQueue=tf.train.string_input_producer(imageFileName)imageReader=tf.WholeFileReader()imageFileN,imageFile=imageReader.read(fileNameQueue)image=tf.image.decode_jpeg(imageFile)init_op=tf.group(tf.global_variables_initializer(),tf.local_variables_initializer())with tf.Session() as sess:sess.run(init_op)fileCount=len(sess.run(imageFileName))writer=tf.python_io.TFRecordWriter('images.tfrecord')#开启协调器coord=tf.train.Coordinator()#启动队列填充threads=tf.train.start_queue_runners(coord=coord,sess=sess)try:i=0while i < fileCount:imageData=sess.run(image)print("===============================")iFn=sess.run(imageFileN)print()print("============{}===================".format(iFn))if b'1' in iFn:imageLabel=b'\x01'else:imageLabel=b'\x02'imageBytes=imageData.tobytes()imageHeight,imageWidth,imageChannels=imageData.shapefeatureData={'label':tf.train.Feature(bytes_list=tf.train.BytesList(value=[imageLabel])),'image':tf.train.Feature(bytes_list=tf.train.BytesList(value=[imageBytes]))} imageExample=tf.train.Example(features=tf.train.Features(feature=featureData))writer.write(imageExample.SerializeToString())print('生成图像{}类别{}TFRecord格式...'.format(iFn,imageLabel))print("--------")i=i+1except tf.errors.OutOfRangeError:print("Done!!!")finally:coord.request_stop()coord.join(threads)print("reading has finished.")writer.close()

===============================

===============================

生成图像b’F:\pro\learn\2.jpg’TFRecord格式…

===============================

===============================

生成图像b’F:\pro\learn\2.jpg’TFRecord格式…

reading has finished.

读文件

代码如下

# -*- coding: utf-8 -*-"""Created on Tue May 7 18:29:30 @author: liuxing@email:lx@"""import tensorflow as tfimport os#tf.train.match_filenames_once 函数产生文件名列表imageFN=os.getcwd()+'/*.tfrecord'imageFileName=tf.train.match_filenames_once(imageFN)fileNameQueue=tf.train.string_input_producer(imageFileName)imageTfrecordReader=tf.TFRecordReader()imageFileN,imageFile=imageTfrecordReader.read(fileNameQueue)imageRecordFeatures=tf.parse_single_example(imageFile,features={'label':tf.FixedLenFeature([],tf.string),'image':tf.FixedLenFeature([],tf.string)})tfRecordImage=tf.decode_raw(imageRecordFeatures['image'],tf.uint8)tfRecordLabel=tf.cast(imageRecordFeatures['label'],tf.string)init_op=tf.group(tf.global_variables_initializer(),tf.local_variables_initializer())with tf.Session() as sess:sess.run(init_op)fileCount=2#开启协调器coord=tf.train.Coordinator()#启动队列填充threads=tf.train.start_queue_runners(coord=coord,sess=sess)try:i=0while i < fileCount:print("===============================")iLabel=sess.run(tfRecordLabel)print(iLabel)print(sess.run(tfRecordImage))print("===============================")print('读取{}图像{}类别的TFRecord格式...'.format(sess.run(imageFileN),iLabel))print("--------")i=i+1except tf.errors.OutOfRangeError:print("Done!!!")finally:coord.request_stop()coord.join(threads)print("reading has finished.")

===============================

b’\x01’

[ 50 149 234 … 51 75 43]

读取b’E:\pro\learn\images.tfrecord:0’图像b’\x01’类别的TFRecord格式…

===============================

b’\x02’

[250 254 253 … 250 254 253]

读取b’E:\pro\learn\images.tfrecord:480059’图像b’\x02’类别的TFRecord格式…

reading has finished.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。