###生成批次数据 import tensorflow as tf '''reapt()生成重复数据集 batch()将数据集按批次组合''' file_name = ['img1','img2','img3','img4'] label = [1,2,3,4] dataset =tf.data.Dataset.from_tensor_slices((file_name,label)) dataset1 = dataset.repeat().batch(3) ##定义一个迭代器迭代取批量数据 def getone(dataset): iterator = dataset.make_one_shot_iterator() #生成一个迭代器 one_element = iterator.get_next() #迭代器取值 return one_element one_element1 = getone(dataset) one_element2 = getone(dataset1) ##定义一个会话内调用的函数,用于显示批量数据 def showbatch(onebatch_element): for ii in range(3): datav = sess.run(onebatch_element) print('第%s批次'%ii,datav) ##开启会话,调用数据 with tf.Session() as sess: showbatch(one_element1) showbatch(one_element2) ''' 第0批次 (b'img1', 1) 第1批次 (b'img2', 2) 第2批次 (b'img3', 3) 第0批次 (array([b'img1', b'img2', b'img3'], dtype=object), array([1, 2, 3])) 第1批次 (array([b'img4', b'img1', b'img2'], dtype=object), array([4, 1, 2])) 第2批次 (array([b'img3', b'img4', b'img1'], dtype=object), array([3, 4, 1])) '''