当前位置: 首页 > news >正文

石龙网站仿做上海十大管理咨询公司

石龙网站仿做,上海十大管理咨询公司,有什么做木工的网站,上海网页制作电话PyTorch深度学习总结 AI第一章 PyTorch中数据准备工作 文章目录PyTorch深度学习总结前言一、 数据收集与整理二、 数据集类的创建三、数据预处理四、 数据加载器的使用五、 划分训练集、验证集和测试集前言 上文介绍torch.nn模块中的全连接层,本文将介绍数据集的准…

PyTorch深度学习总结

AI第一章 PyTorch中数据准备工作


文章目录

  • PyTorch深度学习总结
  • 前言
  • 一、 数据收集与整理
  • 二、 数据集类的创建
  • 三、数据预处理
  • 四、 数据加载器的使用
  • 五、 划分训练集、验证集和测试集


前言

上文介绍torch.nn模块中的全连接层,本文将介绍数据集的准备工作。在 PyTorch 中,数据准备工作是构建和训练深度学习模型的重要基础,以下从多个方面简述相关内容:


一、 数据收集与整理

  • 内容:根据具体的任务需求,收集合适的数据。这些数据需要按照一定的规则进行整理,比如将图像数据按类别分别存放在不同的文件夹中,将文本数据按行分割成样本等。
  • 操作方式:手动收集数据时,可从公开数据集网站(如 Kaggle、ImageNet 等)下载,或者通过网络爬虫获取数据。整理数据可使用 Python 的 os 模块进行文件操作,使用 pandas 库处理 CSV 文件。

二、 数据集类的创建

  • 内容:PyTorch 提供了 torch.utils.data.Dataset 抽象类,用户需要自定义一个继承该类的数据集类,并实现 __len____getitem__ 方法。__len__ 方法返回数据集的样本数量,__getitem__ 方法根据索引返回一个样本及其对应的标签。
  • 例子:对于图像数据集类,__getitem__ 方法可能会读取指定索引的图像文件,对其进行预处理(如调整大小、归一化等),并返回处理后的图像张量和对应的标签。
  • 操作方式:以下是一个简单的图像数据集类示例:
import torch
from torch.utils.data import Dataset
import os
from PIL import Imageclass CustomImageDataset(Dataset):def __init__(self, root_dir, transform=None):self.root_dir = root_dirself.transform = transformself.classes = os.listdir(root_dir)self.data = []for class_name in self.classes:class_dir = os.path.join(root_dir, class_name)for img_name in os.listdir(class_dir):img_path = os.path.join(class_dir, img_name)label = self.classes.index(class_name)self.data.append((img_path, label))def __len__(self):return len(self.data)def __getitem__(self, idx):img_path, label = self.data[idx]image = Image.open(img_path).convert('RGB')if self.transform:image = self.transform(image)return image, label

三、数据预处理

  • 内容:对原始数据进行预处理,使其适合模型输入。常见的预处理操作包括图像的缩放、裁剪、归一化,文本的分词、编码等。
  • 例子:在图像数据预处理中,使用 torchvision.transforms 模块,可将图像调整为固定大小(如 224x224),并进行归一化操作,将像素值缩放到 [0, 1] 或 [-1, 1] 区间。对于文本数据,可使用 torchtext 库进行分词,将每个单词转换为对应的索引。
  • 操作方式:以下是图像预处理的示例代码:
import torchvision.transforms as transformstransform = transforms.Compose([transforms.Resize((224, 224)),transforms.ToTensor(),transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

四、 数据加载器的使用

  • 内容:使用 torch.utils.data.DataLoader 类将数据集封装成可迭代的数据加载器。数据加载器可以实现数据的批量加载、打乱顺序、并行加载等功能。
  • 例子:在训练模型时,可将数据集分成多个批次,每个批次包含一定数量的样本(如 32 个),数据加载器会按顺序或随机地将这些批次提供给模型进行训练。
  • 操作方式:结合前面创建的数据集类和预处理操作,创建数据加载器的示例如下:
from torch.utils.data import DataLoader# 创建数据集实例
dataset = CustomImageDataset(root_dir='path/to/data', transform=transform)
# 创建数据加载器
dataloader = DataLoader(dataset, batch_size=32, shuffle=True, num_workers=4)

其中,batch_size 表示每个批次的样本数量,shuffleTrue 时表示在每个 epoch 开始时打乱数据顺序,num_workers 表示用于数据加载的子进程数量。


五、 划分训练集、验证集和测试集

  • 内容:为了评估模型的性能,需要将数据集划分为训练集、验证集和测试集。训练集用于模型的训练,验证集用于在训练过程中调整模型的超参数,测试集用于最终评估模型的泛化能力。
  • 例子:通常可按照 70%、15%、15% 的比例划分训练集、验证集和测试集。
  • 操作方式:可使用 torch.utils.data.random_split 方法进行划分,示例代码如下:
from torch.utils.data import random_splittrain_size = int(0.7 * len(dataset))
val_size = int(0.15 * len(dataset))
test_size = len(dataset) - train_size - val_sizetrain_dataset, val_dataset, test_dataset = random_split(dataset, [train_size, val_size, test_size])train_dataloader = DataLoader(train_dataset, batch_size=32, shuffle=True)
val_dataloader = DataLoader(val_dataset, batch_size=32, shuffle=False)
test_dataloader = DataLoader(test_dataset, batch_size=32, shuffle=False)

注意:本文内容由豆包AI生成。

http://www.dtcms.com/a/481495.html

相关文章:

  • 辽源网站建设设计wordpress占有率
  • 分销网站建站运营团队架构
  • 财经大学网站建设莱芜金点子信息港租房信息
  • 网站制作公司浩森宇特多少个网站
  • 长春网长春关键词排名站设计网站备案分为几种
  • 沈阳网站建设价格品牌设计 品牌标志设计
  • 营销渠道模式有哪些南京网站优化建站
  • 可遇公寓网站哪个公司做的免费网上商城模板
  • 手机网站分类菜单宁波网站制作工作室
  • 做设计一般用的素材网站是什么意思中山建设网站公司
  • 电商 网站 降低 跳出率 措施 效果企业设计网站推荐
  • 南通企业自助建站系统制作网站哪家强
  • 瀑布式网站长沙房价2020最新价格
  • 如何做一款服装网站中铁建设集团招聘官网
  • 做物流的网站有哪些网页设计基础括号代码大全
  • 要是360网站不安全怎么做ps个人主页设计模板
  • 手机网站js特效私募股权基金网站建设
  • 北京市建设局网站首页重庆网站改版
  • 上海专业网站建设价格深圳网站建设推广方案
  • 网站变灰江苏省建设局官方网站查询
  • 上海大学生兼职做网站哪个网站做外贸假发好
  • 网站友链怎么做wordpress需要会php
  • 购物网站产品做促销能赚钱吗做网站打广告犯法吗
  • 阳江市做网站的公司有没学做早餐的网站
  • 做一个英文网站百度竞价官网
  • 台州建设监理协会网站做资源网站
  • 浙江省建设执业资格中心网站深圳网站建设找哪家公司
  • wordpress菜单底部导航三明seo
  • 火星建站和八亿建站在wordpress中图标
  • 东莞网站建设 信科网络境外公司注册