Pytorch和Tensoflow对比学习第三周--Day 19-20: 数据加载和预处理

这两天的学习重点是掌握在PyTorch和TensorFlow中进行数据加载和预处理的方法。正确的数据处理是训练有效模型的关键步骤。

数据加载和预处理:

学习了如何使用PyTorch的DataLoader和Dataset类以及TensorFlow的数据API来加载和预处理数据。

理解了数据标准化、转换和批处理的重要性。

实践应用:

实现了数据加载管道,包括数据读取、转换和批量加载。

使用标准数据集进行实践,例如MNIST或CIFAR-10。

PyTorch和TensorFlow实现:

在PyTorch中,使用自定义的Dataset类和内置的DataLoader来创建数据加载管道。

在TensorFlow中,利用tf.dataAPI来实现类似的功能。

PyTorch代码示例

from torchvision import datasets, transforms

from torch.utils.data import DataLoader

定义数据转换

transform = transforms.Compose([

transforms.ToTensor(),

transforms.Normalize((0.5,), (0.5,))

])

加载数据集

train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)

train_loader = DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)

使用train_loader在训练循环中加载数据

TensorFlow代码示例

import tensorflow as tf

定义数据转换函数

def preprocess(image, label):

image = tf.cast(image, tf.float32) / 255.0

image = (image - 0.5) / 0.5 # 标准化

return image, label

加载数据集

(train_images, train_labels), _ = tf.keras.datasets.mnist.load_data()

train_dataset = tf.data.Dataset.from_tensor_slices((train_images, train_labels))

train_dataset = train_dataset.map(preprocess).batch(64).shuffle(10000)

使用train_dataset在训练循环中加载数据

在这两个代码片段中,我们展示了如何在PyTorch和TensorFlow中加载和预处理数据。PyTorch通过Dataset和DataLoader提供了灵活的数据处理方式,而TensorFlow的tf.dataAPI则提供了一种更声明式的方法来构建数据管道。通过实践这些方法,我对数据加载和预处理流程有了更深入的理解,并为后续模型的训练做好了准备。

相关推荐
IT古董2 分钟前
AI资讯日报 | 2026年8月31日:政策持续加码,大模型密集更新,开源生态快速扩张,AI智能体加速从实验室走向真实业务场景
人工智能
一条破秋裤3 分钟前
TIM 输入捕获与 PWMI:从边沿到频率、占空比
笔记·stm32·学习
仙女修炼史5 分钟前
gradcam在yolo中的应用
人工智能·python·yolo
亚川楼宇自控系统数据中心厂家18 分钟前
金融数据中心:能碳一体化管理的技术逻辑
人工智能·金融
代码方舟26 分钟前
零信任架构实战:基于天远车辆过户详版查询构建自动化车辆估值网关
运维·人工智能·架构·自动化
沈管家AI数字员工27 分钟前
集团多组织AI怎么上?多子公司统一AI管理的架构与路径
人工智能·架构
美好世界27 分钟前
OpenCode 的 Agent Runtime:从本地状态到 Agent Loop
人工智能
leoZ23129 分钟前
AI+前端提效-09 AI赋能前端测试:单元测试、E2E测试自动生成,提升覆盖率
前端·人工智能·opencv·目标检测·数据挖掘·单元测试·语音识别
算了吧956936 分钟前
从“黑箱”到“透明”:答序科技如何用“诊断型”技术架构重构品牌AI可见度
人工智能·科技·架构
2601_9499506337 分钟前
考研英语资料太散?用小程序把真题、词汇和错题放到一起
人工智能·学习·考研·小程序·刷题·小程序推荐