torchvision.datasets
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 参数。
transform: 一个函数,原始图片作为输入,返回一个转换后的图片。
target_transform - 一个函数,输入为target,输出对其的转换。例子,输入的是图片标注的string,输出为word的索引。
ImageFolder
一个通用的数据加载器,数据集中的数据以以下方式组织
root/dog/xxx.png root/dog/xxy.png root/dog/xxz.png root/cat/123.png root/cat/nsdf3.png root/cat/asd932_.png
既其默认你的数据集已经自觉按照要分配的类型分成了不同的文件夹,一种类型的文件夹下面只存放一种类型的图片
运行命令为:
import torchvision.datasets as dset
dset.ImageFolder(root="root folder path", [transform, target_transform])
root : 指定图片存储的路径,在下面的例子中是'./data/dogcat_2'
transform: 一个函数,原始图片作为输入,返回一个转换后的图片。
target_transform - 一个函数,输入为target,输出对其的转换。例子,输入的是图片标注的string,输出为word的索引。
有以下成员变量:
self.classes - 用一个list保存 类名
self.class_to_idx - 类名对应的 索引
self.imgs - 保存(img-path, class) tuple的list
即后面可以通过查看返回的数据集对象来查看相应的值,下面举例说明:
图片为:
可见分成了cat和dog两类
import torchvision.datasets as dset dataset = dset.ImageFolder('./data/dogcat_2') #没有transform,先看看取得的原始图像数据 print(dataset.classes) #根据分的文件夹的名字来确定的类别 print(dataset.class_to_idx) #按顺序为这些类别定义索引为0,1... print(dataset.imgs) #返回从所有文件夹中得到的图片的路径以及其类别
返回:
['cat', 'dog'] {'cat': 0, 'dog': 1} [('./data/dogcat_2/cat/cat.12484.jpg', 0), ('./data/dogcat_2/cat/cat.12485.jpg', 0), ('./data/dogcat_2/cat/cat.12486.jpg', 0), ('./data/dogcat_2/cat/cat.12487.jpg', 0), ('./data/dogcat_2/dog/dog.12496.jpg', 1), ('./data/dogcat_2/dog/dog.12497.jpg', 1), ('./data/dogcat_2/dog/dog.12498.jpg', 1), ('./data/dogcat_2/dog/dog.12499.jpg', 1)]
如果在数据下面又添加了一个类型'others',那么访问类型的时候返回的就是:
['cat', 'dog', 'others'] {'cat': 0, 'dog': 1, 'others': 2}
查看得到的图片数据:
#从返回结果可见得到的数据仍是PIL Image对象 print(dataset[0]) print(dataset[0][0]) print(dataset[0][1]) #得到的是类别0,即cat
返回:
(<PIL.Image.Image image mode=RGB size=497x500 at 0x11D99A9B0>, 0) <PIL.Image.Image image mode=RGB size=497x500 at 0x11DD24278> 0
然后定义一个对数据进行处理的transform:
#可以看出来此时得到的图片数据已经是处理过后的tensor数据了 print(dataset[0][0]) print(dataset[0][0].size()) #大小也是经过设定后的大小224 print(dataset[0][1]) #得到的是类别0,即cat
返回:
tensor([[[-0.7412, -0.7490, -0.7725, ..., 0.3176, 0.3412, 0.3725], [-0.7333, -0.7412, -0.7882, ..., 0.3255, 0.3647, 0.4039], [-0.7098, -0.7569, -0.8039, ..., 0.3255, 0.3725, 0.4039], ..., [ 0.3961, 0.3961, 0.4039, ..., 0.2627, 0.2627, 0.2549], [ 0.4196, 0.4039, 0.4118, ..., 0.2549, 0.2392, 0.2314], [ 0.4275, 0.4275, 0.4431, ..., 0.2314, 0.2314, 0.2235]], [[-0.7412, -0.7490, -0.7725, ..., 0.3882, 0.3725, 0.3569], [-0.7333, -0.7412, -0.7882, ..., 0.3961, 0.3961, 0.3882], [-0.7098, -0.7569, -0.8039, ..., 0.3882, 0.4039, 0.3882], ..., [ 0.0431, 0.0510, 0.0667, ..., -0.0824, -0.0824, -0.0902], [ 0.0510, 0.0431, 0.0588, ..., -0.0824, -0.1059, -0.1137], [ 0.0353, 0.0353, 0.0510, ..., -0.0902, -0.1059, -0.1216]], [[-0.8353, -0.8431, -0.8667, ..., 0.3255, 0.3255, 0.3255], [-0.8196, -0.8275, -0.8824, ..., 0.3333, 0.3490, 0.3569], [-0.7804, -0.8353, -0.8667, ..., 0.3333, 0.3569, 0.3569], ..., [-0.2863, -0.2784, -0.2627, ..., -0.3569, -0.3569, -0.3647], [-0.2549, -0.2706, -0.2549, ..., -0.3569, -0.3804, -0.3882], [-0.2235, -0.2471, -0.2392, ..., -0.3569, -0.3804, -0.4039]]]) torch.Size([3, 224, 224])
以上这篇pytorch torchvision.ImageFolder的用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 张韶涵2024 《不负韶华》开盘母带[低速原抓WAV+CUE][1.1G]
- lol全球总决赛lcs三号种子是谁 S14全球总决赛lcs三号种子队伍介绍
- lol全球总决赛lck三号种子是谁 S14全球总决赛lck三号种子队伍
- 群星.2005-三里屯音乐之男孩女孩的情人节【太合麦田】【WAV+CUE】
- 崔健.2005-给你一点颜色【东西音乐】【WAV+CUE】
- 南台湾小姑娘.1998-心爱,等一下【大旗】【WAV+CUE】
- 【新世纪】群星-美丽人生(CestLaVie)(6CD)[WAV+CUE]
- ProteanQuartet-Tempusomniavincit(2024)[24-WAV]
- SirEdwardElgarconductsElgar[FLAC+CUE]
- 田震《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- BEYOND《大地》24K金蝶限量编号[低速原抓WAV+CUE][986M]
- 陈奕迅《准备中 SACD》[日本限量版] [WAV+CUE][1.2G]
- TWINS.2004-SUCHABETTERDAY精美礼盒特别版2CD【英皇娱乐】【WAV+CUE】
- 音乐磁场.1991-1998-音乐磁场系列22CD【瑞星】【WAV+CUE】
- 韦绮姗.1993-LOVE.ME.ONCE.AGAIN【永高创意】【WAV+CUE】