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则提供了一种更声明式的方法来构建数据管道。通过实践这些方法,我对数据加载和预处理流程有了更深入的理解,并为后续模型的训练做好了准备。

相关推荐
千年奇葩8 分钟前
Unity性能优化之:利用CUDA加速Unity实现大规模并行计算。从环境搭建到实战案例
c++·人工智能·unity·游戏引擎·cuda
攻城狮7号19 分钟前
蚂蚁开源高性能扩散语言模型框架dInfe,推理速度提升十倍
人工智能·dinfer·扩散语言模型·蚂蚁开源模型
LONGZETECH21 分钟前
【龙泽科技】汽车电子电气与空调舒适系统技术1+X仿真教学软件(1.3.2 -中级)【威朗&科鲁兹】
人工智能·科技·汽车·汽车仿真教学软件·汽车教学软件
机器之心22 分钟前
为什么95%的智能体都部署失败了?这个圆桌讨论出了一些常见陷阱
人工智能·openai
乌暮26 分钟前
数据库--JDBC编程
java·数据库·学习
AImatters27 分钟前
AI照亮“星星的孩子”:大米和小米与亚马逊云科技探索特需儿童康复之路
人工智能·生成式ai·亚马逊云科技·大米和小米
_dindong32 分钟前
Linux网络编程:进程间关系和守护进程
linux·运维·服务器·网络·c++·学习
机器之心32 分钟前
逼近5万亿美元!英伟达GTC深夜爆拉市值,Vera Rubin超级芯片首露面
人工智能·openai
大模型真好玩36 分钟前
LangGraph实战项目:从零手搓DeepResearch(四)——OpenDeepResearch源码解析与本地部署
人工智能·agent·mcp
小白黑科技测评41 分钟前
2025 年视频去水印工具实测:擦擦视频双版本解析一键去字幕与多格式兼容能力
java·人工智能·音视频·智能电视·1024程序员节