TFRecords读写

TFRecords读写实践
本文介绍如何使用TensorFlow中的TFRecords格式进行数据的读写操作。TFRecords是一种高效的文件格式,适用于大规模数据集。文中提供了将图像数据转换为TFRecords格式的示例代码,并展示了如何从TFRecords中读取这些数据。

数据庞大的时候,建议转成TFRecords

def read_tfrecords(file_list):
reader = tf.TFRecordReader()
file_queue = tf.train.string_input_producer(file_list)
_,serialized_example = reader.read(file_queue)

features = tf.parse_single_example(
serialized_example,
features={
‘label’:tf.FixedLenFeature([],tf.int64)
‘features’:tf.FixedLenFeature([784],tf.int64)
}
)
return features[‘label’],features[‘features’]

file_list = []
file_list.append(path)
label,img = read_tfrecords(file_list)
label_batch,img_batch = tf.train.shuffle_batch([label,img],batch_size=10000,capacity=20000,min_after_dequeue=10000)

写,来自tensorlayer里的example
def data_to_tfrecord(images, labels, filename):
“”” Save data into TFRecord “””
if os.path.isfile(filename):
print(“%s exists” % filename)
return
print(“Converting data into %s …” % filename)
# cwd = os.getcwd()
writer = tf.python_io.TFRecordWriter(filename)
for index, img in enumerate(images):
img_raw = img.tobytes()
## Visualize a image
# tl.visualize.frame(np.asarray(img, dtype=np.uint8), second=1, saveable=False, name=’frame’, fig_idx=1236)
label = int(labels[index])
# print(label)
## Convert the bytes back to image as follow:
# image = Image.frombytes(‘RGB’, (32, 32), img_raw)
# image = np.fromstring(img_raw, np.float32)
# image = image.reshape([32, 32, 3])
# tl.visualize.frame(np.asarray(image, dtype=np.uint8), second=1, saveable=False, name=’frame’, fig_idx=1236)
example = tf.train.Example(
features=tf.train.Features(
feature={
“label”: tf.train.Feature(int64_list=tf.train.Int64List(value=[label])),
‘img_raw’: tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw])),
}))
writer.write(example.SerializeToString()) # Serialize To String
writer.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值