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

青岛官网建站2345网址导航用户中心

青岛官网建站,2345网址导航用户中心,山东省济南市莱芜区,兰州网站建设哪里好torchvision库 torchivision库是PyTorch中用来处理图像和视频的一个辅助库#xff0c;接下来我们就会使用torchvision库加载内置的数据集进行分类模型的演示 为了统一数据加载和处理代码#xff0c;PyTorch提供了两个类用于处理数据加载#xff0c;他们分别是torch.utils.…torchvision库 torchivision库是PyTorch中用来处理图像和视频的一个辅助库接下来我们就会使用torchvision库加载内置的数据集进行分类模型的演示 为了统一数据加载和处理代码PyTorch提供了两个类用于处理数据加载他们分别是torch.utils.data.Dataset类和torch.utils.data.DataLoader类通过这两个类可使数据集加载和预处理代码与模型训练代码脱钩从而获得更好的代码模块化和代码可读性。torchvision加载的内置图片数据集均继承自torch.utils.data.Dataset类因此可直接使用加载的内置数据集创建DataLoader. 加载内置图片数据集 PyTorch的内置图片数据集均在torchvision.datasets模块下包含Caltech、CelebA、CIFAR、Cityscapes、COCO、Fashion-MNIST、ImageNet、MNIST等很多著名的数据集其中MNIAT数据集是手写数字数据集这是一个很适合入门者学习使用的小型计算机视觉数据集它包含0到9的手写数字图片和每一张图片对应的标签。接下来我们就以此数据集为例子进行学习。 import torchvision # 导入torchvision库 from torchvision.transforms import ToTensor #做好准备工作导入所需要的包 import torch import matplotlib.pyplot as plt import numpy as np 首先就是对我们所需要的库进行导入。 我对上述的代码进行一下解读首先导入了torchvision库从torchvision.transforms模块下导入ToTensor类。torchvision.transforms模块包含了转换函数使用它可以很方便的对加载的图形进行各种变换这里用到的ToTensor类该类的主要作用有以下3点。 将输入转换为张量将读取图片的格式规范为channelheightwidth这里和我们经常遇到的图片格式有可能会有一些去呗PyTorch中的图片格式一般是通道数channel在前然后是高度height和宽度width将图片像素的取值范围归一化规范为0到1的范围内 train_dstorchvision.datasets.MNIST(data/,trainTrue,transformToTensor(),downloadTrue) test_dstorchvision.datasets.MNIST(data/,trainFalse,transformToTensor(),downloadTrue) 通过torchvision.datasets.MNIST方法加载MNIST数据集方法中的第一个参数为data/表示下载数据集存放的位置参数train表示是否是训练数据若为True则加载训练数据集若为False,则加载测试数据集 使用参数transform表示对加载数据的预处理参数值为ToTensor() 最后一个参数downloadTrue表示将下载此数据集一旦下载完成后下一次执行此代码是将优先从本地文件夹直接加载如果咱们的计算机不能连接互联网也可以直接将文件复制到data文件夹中这样就能从本地直接加载数据了。 现在我们得到了两个数据集分别是训练数据集和测试数据集PyTorch还提供了torch.utils.data.DataLoader类用以对数据集做进一步的处理DataLoader接收数据集并执行复杂的操作如小批次处理、多线程、随机打乱等以便从数据集中获取数据。它接收来自用户的Dataset实例并使用采样器策略将数据采样为小批次。DataLoader的目的如下 1.使用shuffle参数对数据集做乱序的操作一般情况下需要对训练数据集进行乱序的操作因为原始的数据在样本均衡的情况下肯呢个是按照某种顺序进行排列的经过顺序打乱之后数据的排列就会拥有一定的随机性这样做可以避免出现模型反复依次序学习数据的特征或者学习到的只是数据的次数特征的情况。 2.将数据采样为小批次可用batch_size参数指定批次大小。首先单个样本训练有一个很大的缺点就是损失和梯度会受到单个样本的影响如果样本分布不均匀或者有错误标注样本则会引起梯度的巨大震荡从而导致模型训练效果很差。为了解决这个问题我们可以考虑使用批量数据训练也叫做批量梯度下降算法通过遍历全部数据集算一次损失函数然后计算损失对各个参数的梯度并更新参数。这种训练方式没更新一次参数都要把数据集里所有样本都看一遍不仅计算开销大而且计算速度慢。为了克服上述方法的缺点一般采用的是一种折中手段进行损失函数计算即把数据分为若干个小的批次按批次来更新参数这样一个批次中的一组数据共同决定了本次梯度的方向大大降低了参数更新时的梯度方差下降起来更加稳定减少了随机性与单样本训练相比小批次训练可利用矩阵操作进行有效的梯度计算计算量也不是很大对计算机内存的要求也不高。 3.可以充分利用多个子进程加速数据预处理。num_workers参数可以指定子进程的数量 4.可通过collate_fn参数传递批次数据的处理函数实现在DataLoader中对批次数据做转换处理 train_dltorch.utils.data.DataLoader(train_ds,batch_size64,shuffleTrue) test_dltorch.utils.data.DataLoader(test_ds,batch_size46) 上面代码中分别创建了训练数据和测试数据的DataLoader并设置他们的批次大小为64对训练数据设置了shuffle为True;对测试数据由于仅仅作为测试没必要做乱序。 DataLoader是可迭代对象我们观察它返回的数据集的类型给大家对对DataLoader和MNIST数据集有一个直观的印象 imgs,labelsnext(iter(train_dl))#创建生成器并用next方法返回一个批次的数据 print(imgs.shape) print(labels.shape) 我们使用iter方法将DataLoader对象创建为生成器并使用next方法反悔了一个批次的图像imgs和对应的一个批次的标签labelsimage.shape为torch.Size([64,1,28,28]),这里的64是批次我们可以认为这代表64张形状为1,28,28的图片其中1为通道数28和28分别为高和宽既然这里有64张图片那么就对应着有64个标签也就是labels.shape所显示的torch.Size([64]) 结果绘制 # 我们使用Matplotlib来绘制一下前10张的图片 plt.figure(figsize(20,2)) # 创建一个10,1大小的画布 for i,img in enumerate(imgs[:20]):npimgimg.numpy() # 将张量转换为ndarraynpimgnp.squeeze(npimg) # 图片形状由(1,28,28)转换为28,28plt.subplot(1,20,i1) # 初始化子图3个参数表示1行10列的第i1个子图plt.imshow(npimg) #在子图中绘制单张图片plt.axis(off) # 关闭显示子图坐标 plt.imshow() 是一个用于显示图像的函数通常用于在 Python 中使用 Matplotlib 库绘制图像。它可以接受一个数组或图像数据并将其显示为图像。这个函数通常用于可视化图像数据比如热图、灰度图、彩色图等。plt.imshow() 可以接受一些参数比如 cmap颜色映射、interpolation插值方法等用来控制图像的显示效果。 接下来我们打印对应的标签 print(labels[:20])
http://www.huolong8.cn/news/382799/

相关文章:

  • 公司网站开发费用如何做账建筑模板算量软件哪个好
  • 西安做网站app东莞常平中学
  • 越秀网站建设设计电子商务公司一般是做什么的
  • 亦庄附近的网站建设公司wordpress 获取id
  • 百度官网网站网站主机多大
  • 设计师投资做项目网站近一周内的热点新闻
  • 手机网站建设广州部门网站建设情况总结
  • 做彩票网站被捉将受到什么惩罚下载类网站怎么做
  • 专业建公司网站优秀简历模板
  • 网站建设 新手从邢台有什么网络公司
  • 工体做网站的公司律师网站建设哪家好
  • 邢台专业网站建设报价门户网站需要多少空间
  • 东乡网站建设怎么优化自己网站
  • jsp网站建设模板游戏网站开发具备
  • 多种不同产品的网站怎么做seo汕头网站建设方案推广
  • 网站制作难点微信公众号平台官网网址
  • 推荐六款适合做小说阅读站及小说下载站的wordpress 模板平面设计要素
  • 上海智能网站建设做网站排行
  • 做网站卖资料wifi免密码一键连接
  • 宁波网络营销服务西安百度seo排名软件
  • 网站后台密码是什么服装设计需要学什么科目
  • 做网站的技术要求wordpress 添加自定义栏目面板
  • 淘宝佣金推广网站建设万网网站域名
  • 哈尔滨 建网站宁波开发投资有限公司
  • 网站域名空间代理金色网站模板
  • 域名怎么绑定网站企业品牌宣传推广
  • 云系统网站建设合同怎样建网站宣传产品
  • 高端自适应网站建设上海网站建设 报价
  • 做个企业网网站怎么做番禺核酸检测点免费
  • 建立网站的程序营销型网站建设套餐