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

相关推荐
江畔柳前堤10 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
晓梦林10 小时前
BUUCTF findKey-学习笔记
笔记·学习
阿里云大数据AI技术10 小时前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客10 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
05664610 小时前
agent学习Day15——SQLAlchemy 查询过滤、分页与历史列表接口
python·学习·fastapi
阿里云大数据AI技术11 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO11 小时前
GEO技术服务选型指南
大数据·人工智能·python
阿里云大数据AI技术12 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
维基框架12 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github
冬奇Lab12 小时前
代码库知识库系列(05):向量检索 vs 知识图谱——加了调用图并没有变更好
人工智能