2023.2.23深度学习 图片分类数据集

from torch.utils import data

torch.utils.data解析

PyTorch 数据集处理包 torch.utils.data 的核心是 DataLoader 类。

DataLoader(dataset, batch_size=1, shuffle=False, sampler=None,
           batch_sampler=None, num_workers=0, collate_fn=None,
           pin_memory=False, drop_last=False, timeout=0,
           worker_init_fn=None, *, prefetch_factor=2,
           persistent_workers=False)

它构造一个 可迭代对象 loader,代表经过 “加工” 后的数据集。所谓的 “加工” 过程,是由构造函数参数表指定的,它包括:

  • 设置数据的加载顺序(通过修改 shufflesampler 参数)

  • 对数据进行 batching 处理(通过修改 batch_sizebatch_samplercollate_fndrop_last 参数)

  • 实现 multi-process loading,memory pinning 等(此处不涉及)

一旦构造了 DataLoader 对象 loader,就可以用来加载数据。缺省情况下,PyTorch 会对数据进行 auto-batching,此时 data 对应一个 batch 的数据。

for data in loader:
    # data 是数据集中的一组数据,且已转换成 Tensor

from torchvision import transforms

TorchVision中Transforms的使用

一、Transforms结构

1、功能

对图片进行一些变换

2、引入库

from torchvision import transforms

3、结构

transforms其实是一个.py文件,当作一个工具箱的话,里面还有很多分隔区和工具等。Traansforms.py文件中包含许多class,class内又有许多方法。

(1)最常用的是Totensor类,作用是把一个PIL/Numpy.ndarray类型的图片转化为tensor类型

(2)ToPILImage(object)方法:把一个图片转化为PILImage类型

(3)Normalize (object)正则化

(4)Resize(object):进行尺寸的变换

(5)CenterCrop(object):对图片进行中心的裁剪

PILImage类型

Python图像库PIL(Python Image Library)是python的第三方图像处理库

PIL可以做很多和图像处理相关的事情:

  1. 图像归档(Image Archives)。PIL非常适合于图像归档以及图像的批处理任务。你可以使用PIL创建缩略图,转换图像格式,打印图像等等。

  1. 图像展示(Image Display)。PIL较新的版本支持包括Tk PhotoImage,BitmapImage还有Windows DIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。

  1. 图像处理(Image Processing)。PIL包括了基础的图像处理函数,包括对点的处理,使用众多的卷积核(convolution kernels)做过滤(filter),还有颜色空间的转换。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,允许你展示图像的一些统计特性。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。

d2l.use_svg_display()

d2l.use_svg_display ()的作用是设置Matplotib库的图像显示方式为SVG格式,以便在网页中更好地显示图像。

axes = axes.flatten()

ax = ax.flatten()是numpy.ndarray.flatten的一个函数,即返回一个一维数组。axes.flatten()表示把axes数组降到一维,默认为按行的方向降。

你可能感兴趣的:(python,开发语言)