datasets.ImageFloder

Posted lyl0618

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datasets.ImageFloder相关的知识,希望对你有一定的参考价值。

一个通用的数据加载器,数据集中的数据以以下方式组织

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
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) #返回从所有文件夹中得到的图片的路径以及其类别

 

参考文献:

https://www.cnblogs.com/wanghui-garcia/p/10649364.html

以上是关于datasets.ImageFloder的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数