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

相关推荐
狂师几秒前
别再怕 AI 裁员!真相只有一句:会用 AI,就不会被淘汰
人工智能·面试·程序员
酱紫学Java1 分钟前
AI 提示词注入 (Prompt Injection)
网络·人工智能·安全
风巽·剑染春水1 分钟前
【技术追踪】具有多图像视觉能力的医学大视觉语言模型(MICCAI-2025)
人工智能·语言模型·自然语言处理·视觉语言模型·医学影像
Lab_AI7 分钟前
仪器管理全新升级:批量自动化与全生命周期管理,任务完成时间由30分钟缩短为3分钟
人工智能·实验室管理·仪器管理·实验室仪器管理·研发创新
wukangjupingbb7 分钟前
AIDD开源大模型测试指标
人工智能·aidd
智海观潮9 分钟前
只用一周时间通过AI工具重写Next.js,Cloudflare推出vinext重建前端开发边界
开发语言·javascript·人工智能·大模型·web
BackCatK Chen10 分钟前
国家超算互联网下调OpenClaw Token成本,开源AI智能体算力瓶颈迎来突破
人工智能·云计算·互联网·tokens·openclaw·国家超算
智能工业品检测-奇妙智能10 分钟前
化工行业安全体系管理平台如何助力企业实现安全生产标准化
服务器·人工智能·安全·openclaw·奇妙智能
skywalk816311 分钟前
OpenClaw启动后,web控制面板无法登录,返回信息:Not Found
开发语言·人工智能·openclaw
大强同学11 分钟前
skill-vetter:安全审查员
人工智能·ai编程