PyTorch教程_数据的加载(小土堆)
安装环境部分:
1、Anaconda的安装(自行参考其他博客)
2、使用pip安装pytorch
- 打开anaconda prompt创建一个pytorch的环境
- conda create -n pytorch_gpu python=3.7 pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
- 安装COUD11(可以查看自己显卡的种类去pytorch官网上指定下载)
- 测试 import
- torch.cuda.is_available()
- end
代码部分:
import osfrom PIL import Image
from torch.utils.data import Dataset# dataset有两个作用:1、加载每一个数据,并获取其label;2、用len()查看数据集的长度
class MyData(Dataset):def __init__(self, root_dir, label_dir): # 初始化,为这个函数用来设置在类中的全局变量self.root_dir = root_dirself.label_dir = label_dirself.path = os.path.join(self.root_dir,self.label_dir) # 单纯的连接起来而已,背下来怎么用就好了,因为在win下和linux下的斜线方向不一样,所以用这个函数来连接路径self.img_path = os.listdir(self.path) # img_path 的返回值,就已经是一个列表了def __getitem__(self, idx): # 获取数据对应的 labelimg_name = self.img_path[idx] # img_name 在上一个函数的最后,返回就是一个列表了img_item_path = os.path.join(self.root_dir, self.label_dir, img_name) # 这行的返回,是一个图片的路径,加上图片的名称了,能够直接定位到某一张图片了img = Image.open(img_item_path) # 这个步骤看来是不可缺少的,要想 show 或者 操作图片之前,必须要把图片打开(读取),也就是 Image.open()一下,这可能是 PIL 这个类型图片的特有操作label = self.label_dir # 这个例子中,比较特殊,因为图片的 label 值,就是图片所在上一级的目录return img, label # img 是每一张图片的名称,根据这个名称,就可以使用查看(直接img)、print、size等功能# label 是这个图片的标签,在当前这个类中,标签,就是只文件夹名称,因为我们就是这样定义的def __len__(self):return len(self.img_path) # img_path,已经是一个列表了,len()就是在对这个列表进行一些操作if __name__ == '__main__':root_dir = "dataset/train"ants_label_dir = "ants"bees_label_dir = "bees"ants_dataset = MyData(root_dir, ants_label_dir)bees_dataset = MyData(root_dir, bees_label_dir)train_dataset = ants_dataset + bees_dataset# runfile('E:/pythonProject/learn_pytorch/read_data.py')
PyTorch教程_数据的加载(小土堆)相关推荐
- echarts java动态数据_[ASP.net教程]ECharts Java 动态加载数据,echartsjava
[ASP.net教程]ECharts Java 动态加载数据,echartsjava 0 2015-12-18 00:00:05 1.前台jsp页面html PUBLIC "-//W3C// ...
- PyTorch训练中Dataset多线程加载数据,比Dataloader里设置多个workers还要快
PyTorch训练中Dataset多线程加载数据,而不是在DataLoader 背景与需求 现在做深度学习的越来越多人都有用PyTorch,他容易上手,而且API相对TF友好的不要太多.今天就给大家带 ...
- 【PyTorch训练中Dataset多线程加载数据,比Dataloader里设置多个workers还要快】
文章目录 一.引言 二.背景与需求 三.方法的实现 四.代码与数据测试 五.测试结果 5.1.Max elapse 5.2.Multi Load Max elapse 5.3.Min elapse 5 ...
- python数据批量写入iq数据库_通过Load table命令将数据文件加载到Sybase IQ数据库里面的Python脚本...
CREATE TABLE poc_app.sys_ftp_cfg ( ftp_id varchar(100) NOT NULL, --话单文件名标记 ftp ...
- hive 如果表不存在则创建_从零开始学习大数据系列(四十七) Hive中数据的加载与导出...
[本文大约1400字,阅读时间5~10分钟] 在<从零开始学习大数据系列(三十八) Hive中的数据库和表>和<从零开始学习大数据系列(四十二)Hive中的分区>文章中,我们已 ...
- 使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作
使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作 总共分为四步 构造一个my_dataset类,继承自torch.utils.data.Dataset 重写__getite ...
- Ionic+Angular+Express实现前后端交互使用HttpClient发送get请求数据并加载显示(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- esri-leaflet入门教程(4)-加载各类图层
esri-leaflet入门教程(4)-加载各类图层 by 李远祥 在leaflet中图层一般分为底图(Basemap)和叠加图层(Overlay).前面章节已经介绍过底图其实也是实现了TileLay ...
- js如何将数据放在一个内置窗口里面_Java 爬虫遇上数据异步加载,试试这两种办法!...
这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题 ...
最新文章
- java super是引用变量吗_Java中super的几种用法并与this的区别
- 汉诺塔递归与非递归算法
- app.config 配置多项 配置集合 自定义配置(4) 自动增加配置项到配置文件的两种方法...
- 在js文件中引用别的js文件的方法
- java.lang包—StringBuffer类和StringBuilder类
- yarn add webpack webpack-cli 报错
- Parallels 发布 Desktop 17版本,支持 Windows 11 和 macOS Monterey
- (王道408考研操作系统)第一章计算机系统概述-第一节4:中断和异常
- Spring : Spring 切面优先级
- 设计师要的各式各样的设计软件插件都整理好了!
- 速读-A3基于注意力机制的神经网络处理器
- 【扩频通信】基于matlab GUI扩频通信系统仿真(带面板)【含Matlab源码 1587期】
- CMMI3过程改进项目计划
- Java基础——链表
- AcWing 273. 分级 (推论,DP)
- Oracle sqlldr导入之“MAXIMUM ERROR COUNT EXCEEDED”
- 微软家族的首个跨平台开发工具 Visual Studio Code
- TPO Official 53 Independent Writing Task
- 2061 【例1.2】梯形面积
- 复杂的数据类型(结构)