美文网首页
tensorflow数据操作

tensorflow数据操作

作者: 翻开日记 | 来源:发表于2019-06-26 10:30 被阅读0次
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]))

相关文章

  • TF02-01:张量数据定义与运算

    本主题内容:  Tensorflow的图的核心构成就是数据与数据操作,在Tensorflow中所有数据都表示成张量...

  • tensorflow数据操作

  • 第四章 TensorFlow 基础 笔记1

    这一章介绍TensorFlow中的所有运算操作。 4.1 数据类型 TensorFlow中的基本数据类型:数值型,...

  • Tensorflow的线程同步和停止

    Tensorflow的多线程使用 Tensorflow的计算主要在使用CPU/GPU和内存,而数据读取涉及磁盘操作...

  • TensorFlow结构

    TensorFlow系统架构的模式 其中设备层、数据操作层、图计算层是TensorFlow的核心层。 设备层 设备...

  • 三、基本概念

    TensorFlow 张量是什么 张量是用来表示多维数据的张量是执行操作时的输入或输出数据用户通过执行操作来创建或...

  • Tensorflow函数大全

    Tensorflow函数大全 操作函数 正则化 一 数据处理 v1 = [1.0,2.0,3.0,4.0] ...

  • TensorFlow操作进阶

    在本章脑图中主要是介绍了TensorFlow2的进阶操作,包含: 合并和分割 数据统计,聚合函数 数据限幅实现 填...

  • 随手记的网址

    tensorflow谷歌框架 tensorflow实现LeNet-5模型 TensorFlow高效读取数据的方法

  • 79. TensorFlow教程(三)基础概念

    本文介绍TensorFlow基础概念,主要内容如下: TensorFlow模块与架构介绍 TensorFlow数据...

网友评论

      本文标题:tensorflow数据操作

      本文链接:https://www.haomeiwen.com/subject/vnmqcctx.html