使用tensorflow.data.Dataset构造batch数据集,具体用法在下一篇博客介绍

import tensorflow as tf
import numpy as np

def _parse_function(x):
    num_list = np.arange(10)
    return num_list

def _from_tensor_slice(x):

    return tf.data.Dataset.from_tensor_slices(x)

softmax_data = tf.data.Dataset.range(1000) # 构造一个队列
softmax_data = softmax_data.map(lambda x:tf.py_func(_parse_function, [x], [tf.int32]))# 将数据进行传入
softmax_data = softmax_data.flat_map(_from_tensor_slice) #将数据进行平铺, 将其变为一维的数据,from_tensor_slice将数据可以输出
softmax_data = softmax_data.batch(1) #构造一个batch的数量
softmax_iter = softmax_data.make_initializable_iterator() # 构造数据迭代器
softmax_element = softmax_iter.get_next() # 获得一个batch的数据
sess = tf.Session()
sess.run(softmax_iter.initializer) # 数据迭代器的初始化操作
print(sess.run(softmax_element)) # 实际获得一个数据
print(sess.run(softmax_data))