Tensorflow2.0的tf.keras中batch()、map()、shuffle()、repeat()用法总结

概述

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


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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小k同学!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值