2002年网站建设公司宁波做网站十大公司哪家好

张小明 2026/1/11 4:29:15
2002年网站建设公司,宁波做网站十大公司哪家好,做图书出版 外国网站,宁波企业网站排名优化一、Dataset类的_getitem_和_len_方法 在 PyTorch 中#xff0c;torch.utils.data.Dataset 是所有自定义数据集的抽象基类#xff0c;它规定了数据集必须实现两个核心方法#xff1a;__len__ 和 __getitem__。这两个方法是 DataLoader 加载数据的基础#xff0c;决定了数据…一、Dataset类的_getitem_和_len_方法在 PyTorch 中torch.utils.data.Dataset 是所有自定义数据集的抽象基类它规定了数据集必须实现两个核心方法__len__ 和 __getitem__。这两个方法是 DataLoader 加载数据的基础决定了数据集的 “大小” 和 “如何按索引取样本”。Dataset 类的核心作用Dataset 类的设计目标是封装数据集的逻辑如数据读取、预处理、标签映射等对外暴露统一的接口让 DataLoader 可以无感地加载、批量处理、打乱数据。自定义数据集时必须继承 Dataset 并实现 __len__ 和 __getitem__否则实例化会抛出 NotImplementedError。__getitem__ 方法1. 核心作用根据传入的索引 index返回该索引对应的单个样本通常是 “特征 标签” 的组合。DataLoader 会循环调用该方法按索引取样本并将多个样本拼接成批次是数据加载的核心逻辑。2. 实现规则入参仅接收一个整数 index范围0 ≤ index __len__()返回值格式灵活常见形式元组(feature, label)最常用字典{feature: feature, label: label}多模态 / 多特征场景更易读单个值仅特征无监督学习场景。3. 关键注意点索引合法性DataLoader 通常会保证 index 在 [0, __len__()-1] 范围内但自定义时建议避免越界预处理逻辑数据预处理如归一化、图像裁剪、文本分词建议放在该方法中DataLoader 支持多进程加载预处理并行执行效率更高数据类型返回的特征建议转为 torch.Tensor方便后续模型计算标签可根据需求保留 int/float 或转为 Tensor。__len__ 方法1. 核心作用返回数据集的总样本数量DataLoader 依赖该方法知道数据集的 “边界”例如计算迭代轮次总样本数 / 批次大小随机打乱时确定索引范围。2. 实现规则无入参仅返回一个非负整数必须与数据集的实际样本数一致否则会导致索引越界或数据加载不全。二、Dataloader类DataLoader 核心作用自动按 batch_size 从 Dataset 中取多个样本拼接成批次数据如把多个 (feature, label) 拼接成 (batch_feature, batch_label)支持数据打乱shuffle避免模型过拟合支持多进程加载num_workers提升数据读取效率尤其适合大数据集 / 硬盘读取场景灵活的批次拼接逻辑collate_fn适配不同类型数据如变长文本、多模态数据支持内存锁页pin_memory加速数据从 CPU 到 GPU 的传输。参数名作用与说明默认值dataset必须传入的 Dataset 实例自定义 / 内置均可DataLoader 基于它取样本—batch_size每个批次的样本数量1shuffle是否在每个 epoch 开始时打乱数据索引训练集建议 True测试集建议 FalseFalsenum_workers用于数据加载的子进程数多进程加速0 表示主进程加载0drop_last若数据集总数不能被 batch_size 整除是否丢弃最后一个不完整批次Falsecollate_fn自定义批次拼接函数用于处理样本的拼接逻辑如变长文本、自定义数据结构Nonepin_memory是否将加载的数据存入 CUDA 锁页内存GPU 训练时设为 True加速传输Falsetimeout数据加载的超时时间秒防止子进程挂起0sampler自定义索引采样策略优先级高于 shuffleNonebatch_sampler自定义批次索引采样策略与 batch_size/shuffle/sampler 互斥NoneDataLoader 工作原理索引生成根据 Dataset.__len__() 获取总索引范围结合 shuffle/sampler 生成索引序列批次切分将索引序列按 batch_size 切分成多个批次索引如 [0,1], [2,3], [4]样本读取对每个批次的索引调用 Dataset.__getitem__(index) 获取单个样本批次拼接通过 collate_fn 将多个单个样本拼接成批次数据默认拼接成 Tensor 矩阵多进程加速num_workers 0 时子进程并行执行 “样本读取 预处理”主进程仅负责拼接和分发。核心结论Dataset类定义数据的内容和格式即“如何获取单个样本”包括- 数据存储路径/来源如文件路径、数据库查询。- 原始数据的读取方式如图像解码为PIL对象、文本读取为字符串。- 样本的预处理逻辑如裁剪、翻转、归一化等通常通过transform参数实现。- 返回值格式如(image_tensor, label)。DataLoader类定义数据的加载方式和批量处理逻辑即“如何高效批量获取数据”包括- 批量大小batch_size。- 是否打乱数据顺序shuffle。三、MNIST手写数字数据集import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具 from torchvision import datasets, transforms # torchvision 是一个用于计算机视觉的库datasets 和 transforms 是其中的模块 import matplotlib.pyplot as plt # 设置随机种子确保结果可复现 torch.manual_seed(42) # 1. 数据预处理该写法非常类似于管道pipeline # transforms 模块提供了一系列常用的图像预处理操作 # 先归一化再标准化 transform transforms.Compose([ transforms.ToTensor(), # 转换为张量并归一化到[0,1] transforms.Normalize((0.1307,), (0.3081,)) # MNIST数据集的均值和标准差这个值很出名所以直接使用 ]) # 2. 加载MNIST数据集如果没有会自动下载 train_dataset datasets.MNIST( root./data, trainTrue, downloadTrue, transformtransform ) test_dataset datasets.MNIST( root./data, trainFalse, transformtransform )作业# 1. 导入必要库 import torch from torchvision import datasets, transforms import matplotlib.pyplot as plt import numpy as np # 2. 固定随机种子可选保证结果一致 torch.manual_seed(42) # 3. 定义数据预处理CIFAR-10专用均值/标准差 # 说明CIFAR-10的全局均值和标准差是行业公认值标准化用 transform transforms.Compose([ transforms.ToTensor(), # 转Tensor把0-255的PIL图片→0-1的Tensor维度[C, H, W]3,32,32 transforms.Normalize( mean[0.4914, 0.4822, 0.4465], # R/G/B三通道均值 std[0.2470, 0.2435, 0.2616] # R/G/B三通道标准差 ) ]) # 4. 加载CIFAR-10数据集自动下载 # 训练集 train_dataset datasets.CIFAR10( root./data, # 数据集保存路径 trainTrue, # 加载训练集False则加载测试集 downloadTrue, # 本地没有则自动下载 transformtransform # 应用预处理 ) # 5. 关键提取单张图片并可视化 # 5.1 取数据集第0个样本特征Tensor 标签 img_tensor, label_idx train_dataset[0] # img_tensor.shape [3,32,32]label_idx是0-9的整数 print(f图片Tensor形状{img_tensor.shape}) # 输出torch.Size([3, 32, 32]) print(f图片标签索引{label_idx}) # 输出6对应类别“青蛙” # 5.2 定义CIFAR-10类别名称对应索引0-9 cifar10_classes [ 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船, 卡车 ] print(f图片对应类别{cifar10_classes[label_idx]}) # 输出青蛙 # 5.3 预处理还原因为Normalize后数值不在0-1需要反归一化才能正常显示 # 反归一化公式img (img_tensor * std) mean mean np.array([0.4914, 0.4822, 0.4465]) std np.array([0.2470, 0.2435, 0.2616]) # Tensor→numpy维度从[C,H,W]→[H,W,C]matplotlib需要这个顺序 img_np img_tensor.numpy().transpose((1, 2, 0)) img_np img_np * std mean # 反归一化 img_np np.clip(img_np, 0, 1) # 确保数值在0-1之间避免归一化后溢出 # 5.4 可视化图片 plt.figure(figsize(4, 4)) # 设置图片大小 plt.imshow(img_np) # 显示图片 plt.title(fLabel: {cifar10_classes[label_idx]} (索引{label_idx})) plt.axis(off) # 隐藏坐标轴 plt.show()浙大疏锦行
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站王仁杰中国纪检监察报地址

PyTorch 2.9 支持 LLM.int8():大模型低比特推理的工程突破 在当前生成式 AI 爆发式发展的背景下,大语言模型(LLM)正以前所未有的速度向更大、更深、更复杂的架构演进。从 LLaMA 到 Qwen,再到 Mixtral 和 GPT-4 级别的…

张小明 2026/1/7 5:38:04 网站建设

网页设计站点规划国外创意海报设计网站

H2 前言:科研写作痛点与AI工具的破局之道 对于大学生、研究生以及科研人员来说,论文写作往往伴随选题难、资料搜集慢、结构混乱、反复修改耗时、查重压力大等痛点。尤其在毕业季或项目结题期,时间紧、任务重,让人焦虑不已。 近年…

张小明 2026/1/7 5:38:13 网站建设

苏州企业网站建设网络服务网站开发与建设

从实验到部署无缝衔接:PyTorch-CUDA-v2.9镜像优势分析 在当今AI研发节奏日益加快的背景下,一个常见的痛点反复上演:算法工程师在本地训练好的模型,一旦换到服务器或生产环境就“跑不起来”——依赖版本冲突、CUDA不兼容、cuDNN缺失…

张小明 2026/1/11 1:44:03 网站建设

设计公司网站需要什么条件山东济南网站制作

前阵子刷技术论坛,看到一位网友的求助帖引发热议:拿到了两个优质offer,一个是高德扫街的大模型应用开发Java岗,另一个是其他大厂的常规岗位,薪资福利旗鼓相当,纠结到无从选择。 当时不少博主都给出了建议&a…

张小明 2026/1/7 5:38:09 网站建设

培睿网站开发与设计分类信息网站成都搭建

YOLOv8推理实战:从加载模型到识别bus.jpg的完整解析 在智能交通监控、自动驾驶感知和工业视觉检测日益普及的今天,如何快速部署一个高效准确的目标检测系统,已经成为开发者面临的核心挑战。传统流程中,环境配置复杂、依赖冲突频发…

张小明 2026/1/8 8:54:23 网站建设

可以左右滑动的网站画册设计模板图片

ChromePass:Windows平台Chrome密码一键提取终极方案 【免费下载链接】chromepass Get all passwords stored by Chrome on WINDOWS. 项目地址: https://gitcode.com/gh_mirrors/chr/chromepass 你是否曾经为忘记Chrome浏览器保存的重要网站密码而烦恼&#x…

张小明 2026/1/7 5:38:08 网站建设