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

相关推荐
小和尚同志5 小时前
54.6k star 的 Multica: 集多 Agent 和看板于一体的 AI 平台
人工智能·aigc·three.js
一枕槐安4875 小时前
少样本提示(Few-shot)在业务场景的落地实践
大数据·人工智能·意图分类·mmr多样性·knn检索·动态示例选择
王中阳Go6 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
海宇AI6 小时前
零信任架构实战:基于海宇个人风险报告构建自动化分期商城信用额度初审网关
运维·人工智能·架构·自动化
tellmewhoisi6 小时前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
weixin_307779137 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Sinokap7 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
云和数据.ChenGuang7 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
重生之我在番茄自学网安拯救世界8 小时前
AI 开发者日报 第1期(本周精选)| 插件市场投毒、智能体搞出“官僚饥荒村”,十年前的 CNN 打赢大模型
人工智能·网络安全·大模型·ai编程·智能体
叼烟扛炮8 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习