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

检测网站点击量免费企业黄页

检测网站点击量,免费企业黄页,怎么看网站备案号,vue is做的购物网站目录 一、PyTorch 数据加载的核心组件 1.1 Dataset 类的核心方法 1.2 DataLoader 的作用 二、加载 CSV 数据实战 2.1 自定义 CSV 数据集 2.2 使用 TensorDataset 快速加载 三、加载图像数据实战 3.1 自定义图像数据集 3.2 使用 ImageFolder 快速加载 四、加载官方数据…

目录

一、PyTorch 数据加载的核心组件

1.1 Dataset 类的核心方法

1.2 DataLoader 的作用

二、加载 CSV 数据实战

2.1 自定义 CSV 数据集

2.2 使用 TensorDataset 快速加载

三、加载图像数据实战

3.1 自定义图像数据集

3.2 使用 ImageFolder 快速加载

四、加载官方数据集

五、总结


在深度学习项目中,数据加载是模型训练的第一步,也是至关重要的一步。PyTorch 提供了灵活的数据加载工具,让我们能够轻松处理各种类型的数据。本文将结合实际代码,详细讲解如何使用 PyTorch 加载 CSV 数据和图像数据,帮助初学者快速掌握数据加载的核心技巧。

一、PyTorch 数据加载的核心组件

PyTorch 的数据加载主要依赖两个核心类:DatasetDataLoader

  • Dataset:负责数据的读取和预处理,是所有自定义数据集的基类
  • DataLoader:负责批量加载数据,支持打乱顺序、多线程加载等功能

1.1 Dataset 类的核心方法

自定义数据集需要继承Dataset类,并实现以下三个方法:

class CustomDataset(Dataset):def __init__(self, ...):  # 初始化数据集,加载文件路径等passdef __len__(self):  # 返回数据集大小return len(self.data)def __getitem__(self, index):  # 根据索引返回样本return sample, label

1.2 DataLoader 的作用

DataLoader像是一个 "搬运工",将Dataset中的数据按批次搬运给模型:

dataloader = DataLoader(dataset=dataset,  # 要加载的数据集batch_size=32,    # 批次大小shuffle=True,     # 是否打乱数据num_workers=2     # 多线程加载
)

二、加载 CSV 数据实战

CSV 文件是存储表格数据的常用格式,比如学生成绩表、特征数据表等。下面我们通过实际代码讲解如何加载 CSV 数据。

2.1 自定义 CSV 数据集

import torch
from torch.utils.data import Dataset, DataLoader
import pandas as pdclass CsvDataset(Dataset):def __init__(self, filepath):# 读取CSV文件df = pd.read_csv(filepath)# 删除不需要的列(学号、姓名)df.drop(['学号', '姓名'], axis=1, inplace=True)# 提取特征和标签x = df.iloc[1:, :-1]  # 从第二行开始,取除最后一列外的所有列作为特征y = df.iloc[1:, -1]   # 从第二行开始,取最后一列作为标签# 转换为Tensorself.data = torch.tensor(x.values, dtype=torch.float)self.labels = torch.tensor(y.values, dtype=torch.float)def __len__(self):return len(self.data)def __getitem__(self, index):sample = self.data[index]label = self.labels[index]return sample, label# 测试代码
def test_csv_dataset():filepath = '大数据答辩成绩表.csv'dataset = CsvDataset(filepath)print(f"数据集大小: {len(dataset)}")print(f"第一个样本: {dataset[0]}")test_csv_dataset()

2.2 使用 TensorDataset 快速加载

如果数据已经是 Tensor 格式,可以使用TensorDataset快速创建数据集,无需自定义类:

def test_tensor_dataset():filepath = '大数据答辩成绩表.csv'df = pd.read_csv(filepath)df.drop(['学号', '姓名'], axis=1, inplace=True)x = df.iloc[1:, :-1]y = df.iloc[1:, -1]# 转换为Tensordata = torch.tensor(x.values, dtype=torch.float)labels = torch.tensor(y.values, dtype=torch.float)# 使用TensorDatasetdataset = TensorDataset(data, labels)print(f"第一个样本: {dataset[0]}")

三、加载图像数据实战

处理图像数据时,我们需要考虑图像的读取、大小调整、格式转换等问题。下面介绍两种加载图像数据的方法。

3.1 自定义图像数据集

import os
import cv2
from torch.utils.data import Datasetclass PicDataset(Dataset):def __init__(self, filepath):self.filepaths = []  # 存储图像路径self.labels = []     # 存储标签dirnames = []        # 存储类别名称# 遍历文件夹for root, dirs, files in os.walk(filepath):if len(dirs) > 0:dirnames = dirs  # 获取类别文件夹名称for file in files:f_path = os.path.join(root, file)self.filepaths.append(f_path)# 根据文件夹名称确定标签classname = root.split('\\')[-1]self.labels.append(dirnames.index(classname))def __len__(self):return len(self.filepaths)def __getitem__(self, index):filepath = self.filepaths[index]# 读取图像img = cv2.imread(filepath)# 调整图像大小为112x112img = cv2.resize(img, (112, 112))# 转换为Tensor并调整维度 (HWC -> CHW)t_img = torch.tensor(img)t_img = t_img.permute(2, 0, 1)label = self.labels[index]return t_img, label# 测试代码
def test_pic_dataset():filepath = r'E:\人工智能\深度学习\dataset\butterfly'dataset = PicDataset(filepath)print(f"数据集大小: {len(dataset)}")img, label = dataset[0]print(f"图像形状: {img.shape}, 标签: {label}")

3.2 使用 ImageFolder 快速加载

PyTorch 的ImageFolder是加载图像数据集的便捷工具,特别适合以下结构的数据集:

root/class1/img1.jpgimg2.jpgclass2/img1.jpgimg2.jpg

使用方法如下:

from torchvision.datasets import ImageFolder
from torchvision import transformsdef test_image_folder():filepath = r'E:\人工智能\深度学习\dataset\butterfly'# 定义图像转换transform = transforms.Compose([transforms.Resize((112, 112)),  # 调整大小transforms.ToTensor(),          # 转换为Tensor])# 使用ImageFolder加载数据dataset = ImageFolder(root=filepath, transform=transform)print(f"类别: {dataset.classes}")print(f"数据集大小: {len(dataset)}")# 创建DataLoaderdataloader = DataLoader(dataset=dataset,batch_size=1,shuffle=True)# 显示一张图像for img, label in dataloader:print(f"图像形状: {img.shape}")print(f"标签: {label}")breaktest_image_folder()

四、加载官方数据集

PyTorch 提供了许多常用的公开数据集(如 MNIST、CIFAR 等),可以直接下载使用:

from torchvision import datasets, transformsdef test_mnist_dataset():# 定义转换transform = transforms.Compose([transforms.ToTensor()])# 加载MNIST训练集dataset = datasets.MNIST(root='../dataset',  # 数据保存路径train=True,         # 训练集download=True,      # 如果没有数据则下载transform=transform)# 创建DataLoaderdataloader = DataLoader(dataset=dataset,batch_size=1,shuffle=True)# 显示一张图像for img, label in dataloader:print(f"图像形状: {img.shape}")print(f"标签: {label}")breaktest_mnist_dataset()

五、总结

本文介绍了 PyTorch 加载不同类型数据的方法,包括:

  1. 加载 CSV 数据:可以自定义CsvDataset,或使用TensorDataset快速加载
  2. 加载图像数据:可以自定义PicDataset,或使用ImageFolder加载按类别组织的图像
  3. 加载官方数据集:直接使用torchvision.datasets中的类

掌握数据加载的技巧,可以为后续的模型训练打下坚实基础。在实际项目中,需要根据数据的具体格式和特点,选择合适的加载方式,并进行必要的预处理。

希望本文能帮助大家快速上手 PyTorch 的数据加载,如果你有任何问题或建议,欢迎在评论区留言讨论!


文章转载自:

http://aBioGvgL.pqqhL.cn
http://vEvEIzv8.pqqhL.cn
http://jNiWv2gJ.pqqhL.cn
http://E6BDVOvl.pqqhL.cn
http://Xm5Zu9G2.pqqhL.cn
http://nogakR1V.pqqhL.cn
http://xTfE45zF.pqqhL.cn
http://She2XYbG.pqqhL.cn
http://9qsKXMNr.pqqhL.cn
http://zt2p4u0Z.pqqhL.cn
http://dWumg6AF.pqqhL.cn
http://gu8IC9NO.pqqhL.cn
http://Nq9YXaq2.pqqhL.cn
http://DryNDE2d.pqqhL.cn
http://COtG96OF.pqqhL.cn
http://qZ5KEfuI.pqqhL.cn
http://j4FcKf3H.pqqhL.cn
http://7zgPGCWg.pqqhL.cn
http://1rpt9EwL.pqqhL.cn
http://qL4078lh.pqqhL.cn
http://RjG76FD2.pqqhL.cn
http://HHxeckn2.pqqhL.cn
http://WmEwqgOl.pqqhL.cn
http://XRcFl6mr.pqqhL.cn
http://Vm6r5XAk.pqqhL.cn
http://4oDzv4ea.pqqhL.cn
http://O8RmWgl9.pqqhL.cn
http://jC4Pj7Db.pqqhL.cn
http://d0MxsBbY.pqqhL.cn
http://d52nfc6R.pqqhL.cn
http://www.dtcms.com/wzjs/680943.html

相关文章:

  • 能交易的网站多少钱建筑公司网官网
  • 宝安网站制作公司建网页服务公司
  • 搭建网站平台邢台网站定制
  • 五合一网站建设方案php网站服务器架设
  • 腾讯建站平台官网网页登陆微信可以下载wordpress
  • 电子商务网站建设的需求河北省建设厅网站
  • 将网站做成logo怎么做宿迁做企业网站
  • wordpress给菜单加图标巩义做网站优化
  • 销售机械设备做网站软件工程师招聘
  • 用动物做网站名宁波网站seo报价
  • 河北省住房和城市建设厅网站鞋子软文推广300字
  • 做中介卖房子开哪个网站婚纱摄影网站的设计
  • 网站支付功能建设做视频网站需要什么空间
  • 学做家常菜去那个网站浏览器怎么下载视频
  • 网站建设公司彩铃成都高端响应式网站开发
  • 一些做系统的网站网络营销工具介绍
  • 残疾人无障碍网站怎么做网站开发公司云鲸互创怎么联系
  • 买卖平台有哪些网站中国建设银行u盾官方网站
  • 职业教育培训网站海南做公司网站
  • 如何查询网站的备案信息网站做一样的算侵权么
  • 关于重新建设网站的申请表网站规划的要素不包括
  • 邯郸哪个公司做网站好网站 防采集
  • 怎么修改网站标题找大连做企业网站的公司
  • python做的网站多吗网站域名备案主机名
  • 陕煤建设集团韩城分公司网站企业信息公示系统 全国
  • 教育网站建设改版烟台网站建设方案策划
  • 广西建设教育协会网站搜索引擎推广效果
  • 如何建立个人免费网站用什么网站做动感相册
  • 福建泉州做网站公司微电影网站源码xiazai
  • 做电影种子下载网站违法吗网站开发建