概述

1.batch():batch在阴影数据时按size大小输出迭代。
2.map():map用法和在Python中基本相同,接受一个函数对象参数,使用Dataset读取的每个数据都会被作为这个函数对象的参数进行计算输出,组成新的数据集。
3.shuffle():shuffle作用于打乱数据集中的元素。
4.repeat():repeat将数据集重复多次

用法

1.batch(size)

import tensorflow as tf
import numpy as np

dataset = tf.data.Dataset.from_tensor_slices(np.array([[0, 1, 2],[4, 5, 6]]))
dataset = dataset.batch(1)

for data in dataset:
    print(data)
    print("---")

OUT:
在这里插入图片描述
将size设置为2
OUT:
在这里插入图片描述
数据不足时则会输出全部剩余。

2.map()

dataset = tf.data.Dataset.from_tensor_slices({'data':np.array([1.0, 2.0, 3.0, 4.0, 5.0]),'index':np.random.uniform(size=(5,3))})

def get_new_dataset(dataset):
    data = dataset['data']
    index = dataset['index']
    return  data, index

dataset = dataset.map(get_new_dataset)
for data, index in dataset:
    print(data,"===",index)
    print("---")

OUT:
在这里插入图片描述
3.shuffle(buffer_size)
buffer_size:表示打乱数据集所使用的缓冲区的大小

import tensorflow as tf
import numpy as np

dataset = tf.data.Dataset.from_tensor_slices({'data':np.array([1.0, 2.0, 3.0, 4.0, 5.0]), 'index':np.random.uniform(size=(5,3))}).shuffle(buffer_size=10).batch(2)

for small_dataset in dataset:
    print(small_dataset['data'],"===",small_dataset['index'])
    print("---")

First OUT:
在这里插入图片描述
Second OUT:
在这里插入图片描述
4.repeat()

import tensorflow as tf
import numpy as np

dataset = tf.data.Dataset.from_tensor_slices({'data':np.array([1.0, 2.0, 3.0, 4.0, 5.0]), 'index':np.random.uniform(size=(5,3))}).shuffle(buffer_size=10).batch(2)
dataset = dataset.repeat(2)
for small_dataset in dataset:
    print(small_dataset['data'],"===",small_dataset['index'])
    print("---")

在这里插入图片描述


uniform的用法请参考:https://blog.csdn.net/silent1cat/article/details/119750523


希望这篇文章对大家有所帮助!

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐