tensorflow生成多个tfrecord文件实例
我就废话不多说了,直接上代码吧!
importtensorflowastf
fromPILimportImage
importmatplotlib.pyplotasplt
importnumpyasnp
importos
i=0
j=0
num_shards=100#总共写入的文件个数
instances_per_shard=2#每个文件中的数据个数
sess=tf.InteractiveSession()
cwd="F:/寒假/google--data/新建文件夹/"#图片数据所在目录位置(读者自己去改就好了)
classes={'daisy','rose'}#预先自己定义的类别,根据自己的需要修改
def_int64_feature(value):#生成整数型的属性
returntf.train.Feature(int64_list=tf.train.Int64List(value=[value]))
def_bytes_feature(value):#生成字符串型的属性
returntf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))
forindex,nameinenumerate(classes):#枚举函数
class_path=cwd+name+"/"#选取具体数据目录
forimg_nameinos.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))
ifj==instances_per_shard-1:
i+=1
j+=1
ifj==instances_per_shard:
j=0
writer=tf.python_io.TFRecordWriter(filename)
writer.write(example.SerializeToString())#将一个example写入tfrecord文件
writer.close()
以上这篇tensorflow生成多个tfrecord文件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。