马上本科毕业了,毕业设计内容和图像深度学习有关,数据集在网上找了很久才找到,找到的数据集按类别存放在相应文件夹、没有标签文件。我不知道怎么读取,在CSDN上找了好久,只有很少的文章里提到了文件夹读取,但是也没有详细说明,大多数都是用标签读取的。
而且CSDN上将深度学习入门的博客大都直接用MNIST等一些可以直接使用的数据集,很少讲用自己的数据集的。
现在我的问题解决了,自己写一篇来帮助一些和我一样遇到问题的人。

  • 首先,把图像数据集放在你创建的python文件中,我这里的maize就是我的图像数据集
  • 数据集文件里按train、valid和test分好,我的每个里面的分为(0、1、2、3)4个类别。

  • 文件夹读取代码,运用ImageFolder()和DataLoader()
from __future__ import print_function, division
import torchvision
import torchvision.transforms as transforms
from torch.utils.data import DataLoadertrain_transform = transforms.Compose([transforms.RandomResizedCrop(224),transforms.RandomHorizontalFlip(),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])valid_transform=transforms.Compose([transforms.CenterCrop(224),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])train_dataset =torchvision.datasets.ImageFolder(root='maize/train',transform=train_transform)
train_loader =DataLoader(train_dataset,batch_size=1, shuffle=True,num_workers=0)#Batch Size定义:一次训练所选取的样本数。 Batch Size的大小影响模型的优化程度和速度。valid_dataset =torchvision.datasets.ImageFolder(root='maize/valid',transform=valid_transform)
valid_loader =DataLoader(valid_dataset,batch_size=1, shuffle=True,num_workers=0)

这样就把数据放到train_loader和valid_loader里面了,接下来就用train_loader和valid_loader来调用数据就行,后面就可以参考CSDN上深度学习的文章了。

补充另一种数据集加载的形式:

data_transforms = {'train': transforms.Compose([transforms.RandomResizedCrop(224),transforms.RandomHorizontalFlip(),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]),'valid': transforms.Compose([transforms.Resize(256),transforms.CenterCrop(224),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]),
}data_dir = 'maize'
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),data_transforms[x])for x in ['train', 'valid']}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=4,shuffle=True, num_workers=1)for x in ['train', 'valid']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'valid']}
class_names = image_datasets['train'].classes

希望对大家有帮助!有没写清楚的地方可以留言或者私信我,我看到了都会回复的哦!

pytorch读取数据集(分类文件夹加载)—ImageFolder()相关推荐

  1. fread读取整个文件_qt如何实现大文件的加载和显示

    最近研究了下如何用qt的原生控件来加载和显示大文件(>1G),分享下一些摸索经验. 下文源码: compilelife/loginsight​github.com 文件的内存映射 在开始qt部分 ...

  2. Matlab绘图保存为.fig格式以使用,及.fig文件的加载与数据读取

    1 使用背景 fig文件作为Matlab中的图形文件,其实原始数据是会存储在figure对象中的,其不仅仅只是一张图片: 论文写作时,直接将plot运行的结果进行截图粘贴时,图片的分辨率不够导致曲线及 ...

  3. html显示hdf5文件,图片转换成HDF5文件(加载,保存)

    翻译http://machinelearninguru.com/deep_learning/data_preparation/hdf5/hdf5.html 当我们谈论深度学习时,通常首先想到的是大量数 ...

  4. pytorch 读取数据集(LiTS-肝肿瘤分割挑战数据集)

    pytorch 读取数据集 我的数据集长这样: xx.png和xx_mask.png是对应的待分割图像和ground truth 读取数据集 数据集对象被抽象为Dataset类,实现自定义的数据集需要 ...

  5. PyTorch框架学习十九——模型加载与保存

    PyTorch框架学习十九--模型加载与保存 一.序列化与反序列化 二.PyTorch中的序列化与反序列化 1.torch.save 2.torch.load 三.模型的保存 1.方法一:保存整个Mo ...

  6. Pytorch采坑记录:DDP加载之前的checkpoint后loss上升(metric下降)

      最近在鼓捣使用pytorch的distributeddataparallel这个API搭一个数据并行的训练测试任务,过程中遇到了一个问题,做一下记录. 1.问题   使用DDP打包了一个模型训练了 ...

  7. Qt 翻译文件的加载

    翻译文件的加载主要有两部分,一个是自己的,另外一个是qt自带的,可以在qt的安装目录下找到!(qt_zh_CN.qm) 一般情况下,我们会把翻译文件都放在一个固定的目录下,下面分享一个接口,指定目录下 ...

  8. excel加载项不能被加载_Excel收藏夹加载项

    excel加载项不能被加载 As you work in Excel, the files that you've used most recently appear at the bottom of ...

  9. django-2 模板文件的加载

    django-2  模板文件的加载 1.创建模板文件 index.html 2.在django使用模板文件  需要在app下创建templates文件夹   此为django固定模板文件位置 3.编辑 ...

  10. java web配置dll文件_JavaWeb项目中dll文件动态加载方法解析(详细步骤)

    相信很多做Java的朋友都有过用Java调用JNI实现调用C或C++方法的经历,那么Java Web中又如何实现DLL/SO文件的动态加载方法呢.今天就给大家带来一篇JAVA Web项目中DLL/SO ...

最新文章

  1. cdatabase读取excel第一行数据_“蟒蛇”py对Excel的读取——数据操作用它,老板都得重新认识你...
  2. 5GS 协议栈 — GTP 协议族
  3. scrapy发送翻页请求
  4. 程序员十大心愿,程序员:你这么了解我的心声的嘛!
  5. html设置文字超过字数_css限制文字显示字数长度,超出部分自动用省略号显示,防止溢出到第二行...
  6. python 字节码 优化_字节码优化
  7. 青岛农行开始推广数字人民币钱包
  8. 初识大数据(四. 大数据与人工智能的关系)
  9. 这些面试题你需要知道
  10. ae去闪插件deflicker使用_Ae/Pr视频去闪烁插件REVisionFX DEFlicker v1.7.1 Win大众脸已注册...
  11. 微信商户支付平台微信支付怎么开通
  12. java fadein_jQuery fadeIn()和fadeOut()方法
  13. 再次盈利的芒果超媒,下一步剑指电商
  14. Ubuntu 开机未登录用户前自动连接wifi
  15. 实践材料1(感谢刘望的翻译)
  16. 卡通的平板卧推男孩动画特效
  17. Firecracker
  18. CentOS禁止Ping方法
  19. pandas的DataFrame数据画图matplotlab曲线如何改变时间刻度【间隔时间】并格式化日期显示总结
  20. gateway sentinel 熔断 不起作用_技术丨纯电动汽车高压熔断器计算及选型

热门文章

  1. WEB常见的HTTP错误代码404 500等
  2. 仿链家地图找房_愉快滴抓取链家地图找房中的商圈
  3. 车辆vin信息(含发动机号)
  4. 网络安全相关证书有哪些?
  5. 打印照片显示rpc服务器,打印照片时出现了“RPC服务器不可用”的错误怎么办?...
  6. 【Word】Word公式导出PDF后出现井号括号#()错误
  7. java overload_java之方法重载(overload)
  8. linux进程假死的原因_谈谈 Linux 假死现象
  9. NTSC、PAL、SECAM三大制式简介
  10. gh-ost学习笔记 试验代码学习