python 制作tfrecord
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 制作tfrecord相关的知识,希望对你有一定的参考价值。
import os
import tensorflow as tf
from PIL import Image # 注意Image,后面会用到
import matplotlib.pyplot as plt
import numpy as np
#tfrecord, 这是一种将图像数据和标签放在一起的二进制文件,能更好的利用内存,在tensorflow中快速的复制,移动,读取,存储
cwd='D:\Python\data\dog\\'
classes={'husky','chihuahua'} #人为 设定 2 类
writer= tf.python_io.TFRecordWriter("dog_train.tfrecords") #要生成的文件
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((128,128))
img_raw=img.tobytes()#将图片转化为二进制格式
example = tf.train.Example(features=tf.train.Features(feature={
"label": tf.train.Feature(int64_list=tf.train.Int64List(value=[index])),
'img_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw]))
})) #example对象对label和image数据进行封装
writer.write(example.SerializeToString()) #序列化为字符串
writer.close()
以上是关于python 制作tfrecord的主要内容,如果未能解决你的问题,请参考以下文章
TFRecord文件的读写
使用tensorflow中的Dataset来读取制作好的tfrecords文件
制作tfrecord 代码——可用任意照片均可
猫狗大战的TFrecord数据集制作
TensorFlow制作TFRecord文件方式的数据集的完整程序,最好标明怎么输入输出地址
tensorflow的tfrecord操作代码与数据协议规范