torchvision包 包含了目前流行的数据集,模型结构和常用的图片转换工具

torchvision.datasets

torchvision.datasets中包含了以下数据集

  • MNIST
  • COCO(用于图像标注和目标检测)(Captioning and Detection)
  • LSUN Classification
  • ImageFolder
  • Imagenet-12
  • CIFAR10 and CIFAR100
  • STL10

Datasets 拥有以下API:

__getitem__ __len__

由于以上Datasets都是 torch.utils.data.Dataset的子类,所以,他们也可以通过torch.utils.data.DataLoader使用多线程(python的多进程)。

举例说明: torch.utils.data.DataLoader(coco_cap, batch_size=args.batchSize, shuffle=True, num_workers=args.nThreads)

在构造函数中,不同的数据集直接的构造函数会有些许不同,但是他们共同拥有 keyword 参数。 In the constructor, each dataset has a slightly different API as needed, but they all take the keyword args: - transform: 一个函数,原始图片作为输入,返回一个转换后的图片。(详情请看下面关于torchvision-tranform的部分)

  • target_transform - 一个函数,输入为target,输出对其的转换。例子,输入的是图片标注的string,输出为word的索引。

MNIST

dset.MNIST(root, train=True, transform=None, target_transform=None, download=False)

参数说明: - root : processed/training.pt 和 processed/test.pt 的主目录 - train : True = 训练集, False = 测试集 - download : True = 从互联网上下载数据集,并把数据集放在root目录下. 如果数据集之前下载过,将处理过的数据(minist.py中有相关函数)放在processed文件夹下。

COCO 需要安装COCO API

图像标注:

dset.CocoCaptions(root="dir where images are", annFile="json annotation file", [transform, target_transform])

例子:

import torchvision.datasets as dset
import torchvision.transforms as transforms
cap = dset.CocoCaptions(root = 'dir where images are',annFile = 'json annotation file',transform=transforms.ToTensor())print('Number of samples: ', len(cap))
img, target = cap[3] # load 4th sampleprint("Image Size: ", img.size())
print(target)

输出:

Number of samples: 82783
Image Size: (3L, 427L, 640L)
[u'A plane emitting smoke stream flying over a mountain.',
u'A plane darts across a bright blue sky behind a mountain covered in snow',
u'A plane leaves a contrail above the snowy mountain top.',
u'A mountain that has a plane flying overheard in the distance.',
u'A mountain view with a plume of smoke in the background']

检测:

dset.CocoDetection(root="dir where images are", annFile="json annotation file", [transform, target_transform])

LSUN

dset.LSUN(db_path, classes='train', [transform, target_transform])

参数说明: - db_path = 数据集文件的根目录 - classes = ‘train’ (所有类别, 训练集), ‘val’ (所有类别, 验证集), ‘test’ (所有类别, 测试集) [‘bedroom_train’, ‘church_train’, …] : a list of categories to load

root/dog/xxx.png
root/dog/xxy.png
root/dog/xxz.pngroot/cat/123.png
root/cat/nsdf3.png
root/cat/asd932_.png
dset.ImageFolder(root="root folder path", [transform, target_transform])

他有以下成员变量:

  • self.classes - 用一个list保存 类名
  • self.class_to_idx - 类名对应的 索引
  • self.imgs - 保存(img-path, class) tuple的list

Imagenet-12

This is simply implemented with an ImageFolder dataset.
The data is preprocessed as described here

Here is an example

CIFAR

dset.CIFAR10(root, train=True, transform=None, target_transform=None, download=False)

dset.CIFAR100(root, train=True, transform=None, target_transform=None, download=False)

参数说明: - root : cifar-10-batches-py 的根目录 - train : True = 训练集, False = 测试集 - download : True = 从互联上下载数据,并将其放在root目录下。如果数据集已经下载,什么都不干。

STL10

dset.STL10(root, split='train', transform=None, target_transform=None, download=False)

参数说明: - root : stl10_binary的根目录 - split : 'train' = 训练集, 'test' = 测试集, 'unlabeled' = 无标签数据集, 'train+unlabeled' = 训练 + 无标签数据集 (没有标签的标记为-1) - download : True = 从互联上下载数据,并将其放在root目录下。如果数据集已经下载,什么都不干。

torchvision学习之torchvision.datasets相关推荐

  1. Pytorch实现nms (torchvision.ops.nms torchvision.ops.boxes.batched_nms)

    torchvision.ops.nms torchvision中已经有了nms torchvision.ops.nms(boxes, scores, iou_threshold) boxes (Ten ...

  2. [pytorch学习笔记] 3.Datasets Dataloaders

    目录 介绍 加载数据集 迭代和可视化数据集 自定义数据集 __init__ __len__ __getitem__ 使用 DataLoaders 准备训练数据 遍历 DataLoader 参考 介绍 ...

  3. Python 深度学习

    Pytorch 一 .深度学习概览 1.工具篇 2.流程介绍 3.基础知识(常用操作) 1.数据结构类型 4.常见名词概念 二.深度学习Pytorch 1.神经网络 1.1 如何构建神经网络 1.2 ...

  4. PyTorch 笔记(20)— torchvision 的 datasets、transforms 数据预览和加载、模型搭建(torch.nn.Conv2d/MaxPool2d/Dropout)

    计算机视觉是深度学习中最重要的一类应用,为了方便研究者使用,PyTorch 团队专门开发了一个视觉工具包torchvision,这个包独立于 PyTorch,需通过 pip instal torchv ...

  5. 深度学习(PyTorch)——torchvision中的数据集使用方法

    B站UP主"我是土堆"视频内容 torchvision简介 torchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型.以 ...

  6. NVIDIA Jetson NX配置深度学习环境(Pytorch、torchvision)超级详细,torchvision安装避坑总结

    NVIDIA Jetson NX配置深度学习环境 1.准备python环境 2.安装Pytorch 3.torchvision安装 4.torchvision安装报错问题解决 4.1前言 4.2问题描 ...

  7. PyTorch深度学习入门笔记(五)torchvision中DataLoader的使用

    dataloader简介 dataset在程序中起到的作用是告诉程序数据在哪,每个索引所对应的数据是什么.相当于一系列的存储单元,每个单元都存储了数据.这里可以类比成一幅扑克牌,一张扑克牌就是一个数据 ...

  8. 【小白学PyTorch】5.torchvision预训练模型与数据集全览

    [机器学习炼丹术]的学习笔记分享 <<小白学PyTorch>> 小白学PyTorch | 4 构建模型三要素与权重初始化 小白学PyTorch | 3 浅谈Dataset和Da ...

  9. PyTorch【torchvision】

    pytorch自发布以来,由于其便捷性,赢得了越来越多人的喜爱. Pytorch有很多方便易用的包,今天要谈的是torchvision包,它包括3个子包,分别是: torchvison.dataset ...

最新文章

  1. 如何监控impala的数据_CDH秘籍(两):cloudera Manager存储监控数据
  2. 噪声dba是什么单位_在职DBA : 工作多年为什么还是选择报读工商管理博士
  3. 多维数据查询效率分析(1)
  4. mongodb 持久化 mysql_scrapy数据持久化存储(MySQL、MongoDB)
  5. 问答|数据中心运维管理VIP学习群
  6. QML基础——在C++程序中使用QML
  7. 一套完整的Selenium自动化测试框架设计实战,这次38K, 妥了
  8. C#LeetCode刷题之#67-二进制求和(Add Binary)
  9. 安川机器人编程加电弧_安川焊接机器人编程
  10. dnp服务器未响应,PTP时间戳精度
  11. POJ3618 Exploration【水题+排序】
  12. 拷贝构造函数——防篡改
  13. php 用header()下载文件在firefox下没有后缀名
  14. 【软件教程】Spring Tool Suite(STS)
  15. 学习笔记——矩阵键盘的扫描原理与基本应用
  16. 华为HCNA实验操作之常用操作命令32-40
  17. filter_var函数缺陷(原理+实践)
  18. 项目管理理论中关于软件项目外包采购管理的探讨
  19. Linux 命令 | 常用命令之 cut
  20. 亚马逊云科技 AI For Good-2022优秀方案开源分享——望楼

热门文章

  1. 以太坊2.0合约余额新增3872 ETH
  2. Bella团队正在进行Flex Saving v2上线最后的准备工作
  3. 尼日利亚年轻人推动该国登上比特币谷歌搜索排名榜首
  4. 24小时BTC合约大单成交1.52亿美元 现货大单成交1亿美元
  5. 《如何搭建小微企业风控模型》第六节节选 特征工程(下)
  6. Hive与Hbase数据表关联
  7. Uva 247 - Calling Circles(传递闭包 / 强连通分量)
  8. iOS面试题合集(77道)
  9. centos 源码安装 mysql
  10. c#不可忍受之慢——谁是罪魁祸首