二、PyTorch加载数据

一、常用的两个函数

dir()函数可以理解为打开某个,help()可以理解为返回如何使用某个具体的方法

例如:若一个A钱包里面有a,b,c,d四个小包,则可通过dir(A),打开该A钱包,返回a,b,c,d四个小包;若b小包中有1,2,3张银行卡,则help(1)表示如何使用银行卡1。

torch.cuda.is_available()为例进行说明
首先导入torch这个包,import torch
接着通过dir函数进行打开torch这个包,dir(torch),返回一系列torch包下的小包,其中就有cuda小包
接着打开cuda小包,dir(torch.cuda),返回一系列cuda小包下的各种方法,其中就有__is_available__方法
接着通过help函数查看该方法的详细使用说明,help(torch.cuda.is_available),返回该方法的详细说明信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

遇到所有的不明白如何使用的方法就可以通过这个两个函数进行大牌使用,查看文档进行使用学习

二、Dataset

例如:有散乱的三类数据 ▲(2个,标签为1)、⚪(3个,标签为0)、★(1个,标签为2)
Dataset就可以将这三类数据进行整理,得出共有多少种类型数据和总共的数据有多少等信息

编号数据标签
00
10
20
31
41
52

导入Dataset,from torch.utils.data import Dataset
可以通过help(Dataset),来进行查看其详细说明

三、Dataloader

Dataset整理好数据后,送入模型中训练,如何送,一次送入多少个?就有Dataloader进行控制

四、Dataset实战

准备数据,文件夹为dataset,里面有ab两个文件夹,分别存放a和b类照片
在这里插入图片描述

import os
from torch.utils.data import Dataset
from PIL import Imageclass 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)self.img_path = os.listdir(self.path)def __getitem__(self, idx):img_name = self.img_path[idx]img_item_path = os.path.join(self.root_dir, self.label_dir, img_name)img = Image.open(img_item_path)label = self.label_dirreturn img, labeldef __len__(self):return len(self.img_path)# dattset文件夹下有a和b两个文件夹,分别存放a和b类照片root_dir = "dataset"  # 数据集的路径
a_label_dir = "a"  # a类数据存放路径
b_label_dir = "b"  # b类数据存放路径
a_dataset = MyData(root_dir, a_label_dir)#存放所有a类数据
b_dataset = MyData(root_dir, b_label_dir)#存放所有b类数据a_img, a_label = a_dataset[1]#a类数据中的第2张
b_img, b_label = b_dataset[0]#b类数据中的第1张a_img.show()
b_img.show()all_dataset = a_dataset + b_dataset#将a和b类数据进行整合,a类在前,b类在后
all_img, all_label = all_dataset[3]#整合后的第4张
all_img.show()#显示下照片信息print(all_label)#因为a和b各有4张,aaaabbbb,第4张的label为a,故输出a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 1005. K 次取反后最大化的数组和 思考分析

题目 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后,返回数组可能…

三、TensorBoard

一、安装TensorBoard 管理员身份运行Anaconda Prompt,进入自己的环境环境 conda activate y_pytorch,pip install tensorboard 进行下载,也可以通过conda install tensorboard进行下载。其实通俗点,pip相当于菜市场,c…

详细讲解设计跳表的三个步骤(查找、插入、删除)

目录写在前面跳表概要查找步骤插入步骤删除步骤完整代码写在前面 关于跳表的一些知识可以参考这篇文章,最好是先看完这篇文章再看详细的思路->代码的复现步骤: Redis内部数据结构详解(6)——skiplist 关于跳表的插入、删除基本操作其实也就是链表的插入和删除,所…

php 类静态变量 和 常量消耗内存及时间对比

在对类执行100w次循环后, 常量最快,变量其次,静态变量消耗时间最高 其中: 常量消耗:101.1739毫秒 变量消耗:2039.7689毫秒 静态变量消耗:4084.8911毫秒 测试代码: class Timer_profi…

一个机器周期 计算机_计算机科学组织| 机器周期

一个机器周期 计算机机器周期 (Machine Cycle) The cycle during which a machine language instruction is executed by the processor of the computer system is known as the machine cycle. If a program contains 10 machine language instruction, 10 separate machine …

四、Transforms

transform是torchvision下的一个.py文件,这个python文件中定义了很多的类和方法,主要实现对图片进行一些变换操作 一、Transforms讲解 from torchvision import transforms#按着Ctrl,点击transforms进入到__init__.py文件中 from .transfo…

五、torchvision

一、下载CIFAR-10数据集 CIFAR-10数据集官网 通过阅读官网给的解释可以大概了解到,一共6w张图片,每张图片大小为3232,5w张训练图像,1w张测试图像,一共由十大类图像。 CIFAR10官网使用文档 torchvision.datasets.CIF…

转 设计师也需要了解的一些前端知识

一、常见视觉效果是如何实现的 一些事 关于文字效果 互联网的一些事 文字自身属性相关的效果css中都是有相对应的样式的,如字号、行高、加粗、倾斜、下划线等,但是一些特殊的效果,主要表现为ps中图层样式中的效果,css是无能为力的…

六、DataLoader

一、DataLoader参数解析 DataLoader官网使用手册 参数描述dataset说明数据集所在的位置、数据总数等batch_size每次取多少张图片shuffleTrue乱序、False顺序(默认)samplerbatch_samplernum_workers多进程,默认为0采用主进程加载数据collate_fnpin_memorydrop_las…

七、torch.nn

一、神经网络模块 进入到PyTorch的torch.nnAPI学习页面 PyTorch提供了很多的神经网络方面的模块,NN就是Neural Networks的简称 二、Containers torch.nn下的Containers 一共有六个模块,最常用的就是Module模块,看解释可以知道&#xff0c…

Java多线程初学者指南(8):从线程返回数据的两种方法

本文介绍学习Java多线程中需要学习的从线程返回数据的两种方法。从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。原文链接 从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。但类成员在返回数据和传递数据时有…

【C++进阶】 遵循TDD原则,实现平面向量类(Vec2D)

目录1、明确要实现的类的方法以及成员函数2、假设已经编写Vec2D,根据要求,写出测试代码3、编写平面向量类Vec2D,并进行测试4、完整代码5、最终结果1、明确要实现的类的方法以及成员函数 考虑到效率问题,我们一般将函数的参数设置为引用类型。…

md5模式 签名_MD的完整形式是什么?

md5模式 签名医师:医学博士/常务董事 (MD: Doctor of Medicine / Managing Director) 1)医学博士:医学博士 (1) MD: Doctor of Medicine) MD is an abbreviation of a Doctor of Medicine degree. In the field of Medicine, it is the main academic de…

八、卷积层

一、Conv2d torch.nn.Conv2d官网文档 torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone) 参数解释官网详情说明in_channels输入的通道数,如果是彩色照片通道…

【C++grammar】左值、右值和将亡值

目录C03的左值和右值C11的左值和右值将亡值在C03中就有相关的概念 C03的左值和右值 通俗的理解: (1) 能放在等号左边的是lvalue (2) 只能放在等号右边的是rvalue (3) lvalue可以作为rvalue使用 对于第三点可以举个例子: int x ; x 6; //x是左值&#…

九、池化层

一、Pooling layers Pooling layers官网文档 MaxPool最大池化层下采样 MaxUnpool最大池化层上采样 AvgPool最大池化层平均采样 例如:池化核为(3,3),输入图像为(5,5),步长为1,不加边 最大池化就是选出在池化核为单位图像中的最大…

十、非线性激活函数

一、ReLU torch.nn.ReLU(inplaceFalse)官网提供的API 其中inplace表示是否在对原始数据进行替换 由函数图可以看出,负数通过ReLU之后会变成0,正数则不发生变化 例如:input -1,若inplace True,表示对原始输入数据进…

最短公共子序列_最短公共超序列

最短公共子序列Problem statement: 问题陈述: Given two strings, you have to find the shortest common super sequence between them and print the length of the super sequence. 给定两个字符串,您必须找到它们之间最短的公共超级序列&#xff0c…

QTP自传之web常用对象

随着科技的进步,“下载-安装-运行”这经典的三步曲已离我们远去。web应用的高速发展,改变了我们的思维和生活习惯,同时也使web方面的自动化测试越来越重要。今天,介绍一下我对web对象的识别,为以后的对象库编程打下基础…

leetcode中使用c++需要注意的点以及各类容器的初始化、常用成员函数

目录1、传引用2、vector使用初始化方法常用成员函数3、字符串string初始化方法常用成员函数4、哈希表 unordered_map初始化常用成员函数示例:计数器5、哈希集合 unordered_set初始化常用成员函数6、队列 queue初始化成员函数7、栈stack初始化常用成员函数7、emplace…