IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> PyTorch读书笔记3:——计算机视觉 -> 正文阅读

[人工智能]PyTorch读书笔记3:——计算机视觉

一、torchvision工具包

  1. VisionDataset类:存储数据集所在的根目录、训练数据和预测目标的变换函数(transform和target_transform),但是没有实现__getitem__和__len__方法。
  2. DatasetFloder类:继承了VisionDataset类,实现__getitem__和__len__方法。
    • 使用时,数据集存储在一个目录下,而且含有多个子目录。每个子目录是一类图片。
    • 构造函数一开始调用内部的_find_classes找到具体预测目标的类别,和类别对应的整数(class_to_idx实现)。得到一个记录数据路径和数据预测目标的列表。另外还会传入参数loader,用来载入数据。
    • _getitem__传入index,根据index从self.samples一条数据记录的parh和target。使用loader载入数据,self.transform和self.target_transform进行数据变换。最后返回变换之后的数据和预测目标。
      代码如下:
""" 该代码仅为演示类的构造方法所用,并不能实际运行

class VisionDataset(data.Dataset):
    def __init__(self, root, transforms=None, transform=None, 
        target_transform=None):
        # ...

    def __getitem__(self, index):
        raise NotImplementedError
    
    def __len__(self):
        raise NotImplementedError

class DatasetFolder(VisionDataset):
    def __init__(self, root, loader, extensions=None, transform=None,
        target_transform=None, is_valid_file=None):
        super(DatasetFolder, self).__init__(root, transform=transform,
            target_transform=target_transform)
        classes, class_to_idx = self._find_classes(self.root)
        self.samples = make_dataset(self.root, class_to_idx, extensions, is_valid_file)
        self.loader = loader
        # ...

    def __getitem__(self, index):
        path, target = self.samples[index]
        sample = self.loader(path)
        if self.transform is not None:
            sample = self.transform(sample)
        if self.target_transform is not None:
            target = self.target_transform(target)
        return sample, target

    def __len__(self):
        return len(self.samples)
  1. torchvision.transforms包:包含内置的转换类,含有两种:
  • 作用于PIL.Image类上:通过PIL.Image.open打开一张图片,返回PIL.Image类。
    • torchvision.transforms.CenterCrop类:输入整数或元组(长宽),从图片中截取一个正方形区域,返回新的PIL.Image类
    • torchvision.transforms.Resize:缩放图像。输入整数或元组,代表缩放目标图像的大小。
    • torchvision.transforms.ToTensor:将图像从 0-255之间的整数值,转换为0-1之间的浮点数张量。
  • 作用于PyTorch张量上
    • torchvision.transforms.ToPILImage类:将浮点数张量转换为PIL.Image图像。
    • torchvision.transforms.Noemalize:对图片转换后的张量进行标准化。两个参数是所有图片的均值mean张量和标准差张量std。输出是(x-mean)/std
    • torchvision.transforms.Compose:构造一个包含列表的转换类,输出列表里的转换依次作用后的结果。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:37:57  更:2021-11-19 17:39:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 13:39:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码