时间:2021-05-22
我就废话不多说了,直接上代码吧!
import tensorflow as tffrom PIL import Imageimport matplotlib.pyplot as pltimport numpy as npimport osi = 0j = 0num_shards = 100#总共写入的文件个数instances_per_shard = 2#每个文件中的数据个数sess=tf.InteractiveSession()cwd = "F:/寒假/google--data/新建文件夹/" #图片数据所在目录位置(读者自己去改就好了)classes = {'daisy','rose'} #预先自己定义的类别,根据自己的需要修改def _int64_feature(value):#生成整数型的属性 return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))def _bytes_feature(value):#生成字符串型的属性 return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) for index, name in enumerate(classes):#枚举函数 class_path = cwd + name + "/"#选取具体数据目录 for img_name in os.listdir(class_path):#遍历文件列表 img_path = class_path + img_name#图片路径 img = Image.open(img_path) img = img.resize((299, 299)) #图像reshape大小设置,根据自己的需要修改 img_raw = img.tobytes() example = tf.train.Example(features=tf.train.Features(feature={ 'label': _int64_feature(index), 'img_raw': _bytes_feature(img_raw), 'i': _int64_feature(i), 'j': _int64_feature(j) })) filename = ("F:/寒假/google--data/data.tfrecords-%.5d-of-%.5d"%(i,num_shards)) if j == instances_per_shard-1: i+=1 j+=1 if j == instances_per_shard: j=0 writer = tf.python_io.TFRecordWriter(filename) writer.write(example.SerializeToString())#将一个example写入tfrecord文件writer.close()以上这篇tensorflow生成多个tfrecord文件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
tensorflow中如果要对神经网络模型进行训练,需要把训练数据转换为tfrecord格式才能被读取,tensorflow的model文件里直接提供了相应的脚
TensorFlow提供了一种统一的格式来存储数据,就是TFRecord,它可以统一不同的原始数据格式,并且更加有效地管理不同的属性。TFRecord格式TFR
原来在一本书上看到过,从多个tfrecord文件中读取数据的方法,今天想用在网上找了一下,现在记录一下,免得自己以后忘记了又不好找,tfrecord_file_
读取tfrecord数据从TFRecords文件中读取数据,首先需要用tf.train.string_input_producer生成一个解析队列。之后调用tf
训练模型时,我们并不是直接将图像送入模型,而是先将图像转换为tfrecord文件,再将tfrecord文件送入模型。为进一步理解tfrecord文件,本例先将6