Tensorflow2.0基础-笔记- tf.data模块使用

本文介绍使用TensorFlow处理数据集的方法,包括数据切片、转换、打乱、重复及批处理等步骤。通过实例展示了如何从张量创建数据集,并进行有效预处理以供机器学习模型训练使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import tensorflow as tf
import numpy as np

dataset=tf.data.Dataset.from_tensor_slices([1,2,3,4,5,6,7,8,9]) #对数组进行切片存储
for e in dataset:
    print(e)                                                    #这样输出的是tf.Tensor类型
for e in dataset:
    print(e.numpy())                                            #转化成正常数组类型

dataset_2=tf.data.Dataset.from_tensor_slices([[1,2],[3,4],[5,6],[7,8]])
for e in dataset_2:
    print(e)
for e in dataset_2:
    print(e.numpy())

                                        #对字典进行切片,将会把abcd各一个数据拿出作为一个切片
dataset_3=tf.data.Dataset.from_tensor_slices({ 
    'a':[1,2,3,4],
    'b':[5,6,7,8],
    'c':[9,10,11,12],
    'd':[13,14,15,16]
})
for e in dataset_3:
    print(e)

for e in dataset_2.take(2):            #从切片集合中拿出2个切片
    print(e)


#从切片中,按顺序拿取5个数据进入缓冲区,随机从缓冲区拿取以一个放入队列中,将得到的新队列作为新的
#数据集。本质上是对数据进行打乱操作。缓冲区的大小影响着顺序的混乱程度
dataset=dataset.shuffle(5)   
for e in dataset:
    print(e)

dataset=dataset.shuffle(1)
for e in dataset:
    print(e)

#扩充数据集,参数count为重复的次数,count=3即将数据集扩充3倍,之前加入shuffle后,每次扩充的结果#也会被打乱
dataset=dataset.repeat(count=3)
for e in dataset:
    print(e)

#batch操作将数据按顺序3个3个的打包成一个新的数据,在参数为batch_size=3的情况下
dataset=dataset.batch(3)
for e in dataset:
    print(e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

二流子学程序

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

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

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

打赏作者

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

抵扣说明:

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

余额充值