import tensorflow as tf
import numpy as np
"""解析数据"""
def _parse_function(example_proto):
features = {'images': tf.FixedLenFeature((), tf.string),
'labels': tf.FixedLenFeature((), tf.int64)}
parsed_features = tf.parse_single_example(example_proto, features)
data = tf.decode_raw(parsed_features['images'], tf.float32)
return data, parsed_features['labels']
"""读取单一数据"""
def read_one_batch():
""""""
dataset = tf.data.TFRecordDataset(tf.gfile.Glob('data/*'))
dataset = dataset.map(_parse_function)
dataset = dataset.repeat(2)
dataset = dataset.batch(32)
iterator = dataset.make_one_shot_iterator()
next_data = iterator.get_next()
return next_data
"""读取指定batchsize的数据"""
def read_N_batch():
dataset = tf.data.TFRecordDataset(tf.gfile.Glob('data/*'))
dataset = dataset.map(_parse_function)
dataset = dataset.repeat(2)
batch = tf.placeholder(tf.int64, shape=[])
dataset = dataset.batch(batch)
iterator = dataset.make_initializable_iterator()
return iterator.get_next()
"""读取不同类型的数据"""
def read_diff_batch():
tr_dataset = tf.data.TFRecordDataset(tf.gfile.Glob('data/*'))
tr_dataset = tr_dataset.map(_parse_function)
tr_dataset = tr_dataset.repeat(2)
tr_dataset = tr_dataset.batch(32)
te_dataset = tf.data.TFRecordDataset(tf.gfile.Glob('data/*'))
te_dataset = te_dataset.map(_parse_function)
te_dataset = te_dataset.repeat(2) # 整个数据集的循环次数
te_dataset = te_dataset.batch(16)
iterator = tf.data.Iterator.from_structure(tr_dataset.output_types,
tr_dataset.output_shapes)
train_op = iterator.make_initializer(tr_dataset)
test_op = iterator.make_initializer(te_dataset)
next_data = iterator.get_next()
return train_op, test_op, next_data
if __name__ == '__main__':
with tf.Session() as sess:
train_op, test_op, next_data = read_diff_batch
for _ in range(2):
sess.run(train_op)
for _ in range(3):
print(np.shape(sess.run(next_data, )[0]))
sess.run(test_op)
for _ in range(2):
print(np.shape(sess.run(next_data, )[0]))
tensorflow数据操作
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 生成检查点文件(chekpoint file),扩展名.ckpt,tf.train.Saver对象调用Saver....
- tenosflow的图操作比较重要 通过图形操作可以让对图有跟进一步了解上一个简单的训练的代码 结果是: 再把图r...
- 加载数据 TensorFlow 作为符号编程框架,需要先构建数据流图,再读取数据,随后进行模型训练。 预加载数据(...
- 前言 当我们开始学习编程的时候,第一件事往往是学习打印"Hello World"。就好比编程入门有Hello Wo...
- 本章学习如何检查数据并准备创建线性回归任务。 本教程分为两部分: 检查数据 测试模型 上章使用Boston数据集来...