2024/9/16 dataloader、tensorboard、transform

news2024/11/13 11:52:25

一、pytorch两大法宝元素

假设有一个名为pytorch的包

dir():用于打开包,看里面的内容

help():用于查看具体的内容的用处

二、python文件,python控制台和jupyter的使用对比

三、pytorch读取数据

pytorch读取数据主要涉及到两个类:

使用Dataset类读取数据

从pytorch包中引入Dataset类,写一个子类对Dataset进行继承,重写其中方法达到目的

一般会设置数据路径问题,需import os

四、Tensorboard的使用

TensorBoard 是 TensorFlow提供的一组可视化工具

安装tensorboard

1.SummaryWriter类的使用

1.1 add_scalar()方法

def add_scalar(
    self,
    tag,  # 图像名
    scalar_value,  # y轴
    global_step=None, #  x轴
    walltime=None,
    new_style=False,
    double_precision=False,
):

运行后,出现logs文件夹:

查看该文件:

在终端输入tensorboard --logdir=logs或者tensorboard --logdir PATH

默认生成文件通过6006端口打开,可指定端口打开:tensorboard --logdir=logs --port=6007

点击链接:

注:有时生成文件多了之后,图像出现在一起可能会出现拟合现象,就将所有事件删除后重新生成

1.2 add_image()方法

def add_image(
    self, tag, img_tensor, global_step=None, walltime=None, dataformats="CHW"
):

tag:标题

img_tensor:图片,此处图片只能是torch.tensor,numpy.array或string 不是这些,要转换成这些

global_step:表明是第几张图片

dataformats:图片的通道,高,宽顺序,默认CHW 可自行指定

五、Transform的使用

通过 from torchvision import transforms 引入transforms模块

torchvision是图像处理库,计算机视觉工具包,transforms 集成了随机翻转、旋转、增强对比度、转化为tensor、转化为图像等功能,用于数据增强。(transforms更多的指的是transforms.py文件,其中包含很多类)。

NumPy是一个功能强大的Python库,主要用于对多维数组执行计算,它极大地简化了向量和矩阵的操作处理。

Tensor,即“张量”。实际上跟numpy数组、向量、矩阵的格式基本一样。但是是专门针对GPU来设计的,可以运行在GPU上来加快计算效率。

在PyTorch中,张量Tensor是最基础的运算单位,与NumPy中的NDArray类似,张量表示的是一个多维矩阵。不同的是,PyTorch中的Tensor可以运行在GPU上,而NumPy的NDArray只能运行在CPU上。由于Tensor能在GPU上运行,因此大大加快了运算速度。

在使用 transforms.ToTensor() 进行图片数据转换过程中会对图像的像素值进行正则化,即一般读取的图片像素值都是8 bit 的二进制,那么它的十进制的范围为 [0, 255],而正则化会对每个像素值除以255,也就是把像素值正则化成 [0.0, 1.0]的范围

详见https://www.cnblogs.com/yq-ydky/p/17617289.html

1.使用ToTensor类将图片数据转化为Tensor类型

2.为什么要使用tensor这一数据类型

tensor这一数据类型包含了很多在神经网络中需要用到内容,比如后向,梯度

对于搭建神经网络更为方便

3.将PIL数据转化为Tensor,利用Tensorboard进行显示

4.常用的transform类

Resize只改变图像大小,不改变其数据类型

compose对象是各种类对象的合成体,要注意的列表中的对象要具有相关性,前一对象的输出是后一个对象的输入

5.transform与数据集的结合使用

torchvision中可以找到一些常用数据集,常用模型:

torchvision — Torchvision 0.19 documentation

torchvision.datasets中包含许多数据集,可直接设置参数使用命令下载

例子:CIFAR10

CIFAR10 — Torchvision 0.19 documentation

(1)下载数据:

数据集中的每一个数据都是一个由图片和对应的类别标签索引组成的元组

(2)原始图片为PIL类型,添加一些transform操作:

(3)利用tensorboard对图像进行显示

六、dataloader介绍

参考:torch.utils.data — PyTorch 2.4 documentation

使用dataset获取数据集时,返回的数据集中每一个数据都是一个由图片和标签组成的元组

CIFAR10中的图片维度(3,32,32)

dataloader负责按照想要的方式从数据集中得到数据

(1)将batch设置为4,每页4个,分多页

(2)将batch设置为64,每页64个,分多页,epoch表示遍历完一遍数据

注:指定了数据集会读取该数据集所有数据,batch只是将数据分批次

format()的使用:

Python字符串格式化之使用format()方法_python_脚本之家

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

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

相关文章

Redis——常用数据类型hash

目录 hash常用命令hsethgethdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhdecrby 哈希的编码方式哈希的应用 hash 常用命令 hset HSET key field value [field value ...]//时间复杂度O(1) //返回值:设置成功的键值对的个数hget HGET key field//hdel HDEL key…

数据结构——树(终极版)

树的基本概念: 树的顶部是根节点也是树的入口 父节点:例如:B是F的父节点 子节点:树中的每个节点都可以有0个或多个子节点 叶子节点:像KLFGMIJ这种没有子节点的节点 节点的度:节点的子节点数&#xff1…

新160个crackme - 059-Dope2112.1

运行分析 输入Name和Serial,点击Registrieren按钮,显示疑似错误提示 百度翻译查看一下,发现是德语 PE分析 Delphi程序,32位,无壳 静态分析&动态调试 ida字符串发现正确提示,双击跟进 来到关键函数&…

现在量化中普遍使用QMT和PTrade?哪家可以同时提供QMT/PTrade?

QMT的特点 全面的功能集成: QMT集成了行情显示、策略研究、交易执行和风控管理于一体,为投资者提供了一站式的量化交易解决方案。 高效的交易执行能力: 通过全内存交易实现低延迟的交易执行,单笔延时小于1ms,确保了交易…

秒懂C++之智能指针

目录 前言 智能指针的使用及原理 RAII RAII弊端 std::auto_ptr std::unique_ptr std::shared_ptr shared_ptr弊端 std::weak_ptr 扩展(删除器) 前言 为了解决抛异常所造成的内存泄漏等问题~秒懂C之异常-CSDN博客~我们来学习智能指针的相关用法…

【图像匹配】基于SIFT算法的图像匹配,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于SIFT算法的图像匹配,用matlab实现。 一、案例背景和算法介绍 本…

【MySQL】MySQL中JDBC编程——MySQL驱动包安装——(超详解)

前言: 🌟🌟本期讲解Java中JDBC编程,希望能帮到屏幕前的你。 🌈上期博客在这里:【MySQL】MySQL索引与事务的透析——(超详解)-CSDN博客 🌈感兴趣的小伙伴看一看小编主页&a…

【Linux】初识信号与信号产生

目录 一、认识信号 1 .什么是信号 2 .哪些情况会产生信号 3 . 查看信号 4 . 信号处理 二、产生信号 1 .通过终端按键产生信号 2 .调用系统函数向进程发信号 3 . 由软件条件产生信号 4 . 由硬件异常产生信号 一、认识信号 1 .什么是信号 你在网上买了很多件商品,再…

技术上,如何复现 o1?

知乎:周舒畅链接:https://zhuanlan.zhihu.com/p/720127190 基础模型 搞 o1 首先需要一个基模,这个基模必须是: 能进行“长”生成。注意这和“长 context”不是一回事。模型生成的结果,经常会有自激的噪声存在&#xf…

Unity多国语言支持

Unity多国语言支持 项目在我的课程 ”淘金城堡“ 中应用 项目的地址:http://t.csdnimg.cn/m0hFd 一、基本概念 在Unity中加入多国语言的支持可以让我们发布的游戏或应用上线在拥有不同语言的国家或地区。 下面介绍一款Unity官方提供的插件“Localization package…

USB中的传输和事务

文章目录 一、USB中的四种事务1. **控制事务(Control Transaction)**2. **批量事务(Bulk Transaction)**3. **中断事务(Interrupt Transaction)**4. **等时事务(Isochronous Transaction&#x…

C++第五十弹---类型转换全解析:从静态到动态,一网打尽

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1. C语言中的类型转换 2. 为什么C需要四种类型转换 2.1、内置类型 -> 自定义类型 2.2、自定义类型 -> 内置类型 2.3、自定义类型 -&…

Suno新上线Covers翻唱新 - 实现音频风格任意转换

历史文章 Suno AI如何解决中文多音字的问题?耗费500积分,亲测有效 ,V4版本会不会直接支持呢? 上传音频,打造贴合您喜好的风格歌曲创作,这一波新玩法我打8分 Suno AI Noisee AI 做抖音冥想账号实操 音乐…

网络安全-利用 Apache Mod CGI

一、环境 蚁剑官网拉取 二、开始操作 蚁剑连接 一样终端命令不能执行 可以看到putenv已经禁用 我们开始一下,跳入一个新终端且可以执行命令 我们具体看一下干了什么事情 上传了一个htaccess这个文件的作用是让以后所有ant文件都以cgi去执行 三、总结 cgi文件可以…

【C++】C++的多态

目录 多态的使用 多态的概念 多态的定义和实现 虚函数 构成多态的条件 特殊情况:协变 析构函数的重写 怎么实现 为什么实现 override和final关键字 override final 重载/重写/隐藏的对比 纯虚函数和抽象类 纯虚函数 抽象类 多态的实现 虚函数表指针…

魔方财务安装指南

本文将详细介绍魔方财务的安装、升级和迁移过程,确保您能够顺利地部署和使用魔方财务系统。 服务器配置一览表 以下是魔方财务1.0.0及更高版本的最低和推荐系统要求: 需求名称推荐配置最低要求OSCentOS/Debian/UbuntuLinux(不要使用window…

IP协议及相关特性

IP协议负责地址管理和路由选择。它的组成为: 接下来我们将对其中较重要的部分进行介绍。 4位版本:这里的四位版本只有两个取值 分别为IPv4和IPv6,这两个额分别为不同的IP协议,但是现在主流的还是IPv4但是近年来IPv6在中国的普及率…

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码演示

目录 问题 11.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析数据探索 -- 单个分类变量的绘图树形图条形图扇形图雷达图Cramer’s V 相关分析统计检验列联表分析卡方检验Fisher检验绘图堆积条形图分组条形图分类模型Logistic回归随机森林import matplotlib…

中秋之际,唱响工体!玛丽亚·凯莉2024演唱会北京站璀璨上演

续写传奇华章 启幕音乐盛典 中秋之际,全国数万乐迷翘首以待的音乐盛典如约而至。时隔多年,传奇天后玛丽亚凯莉惊艳开唱工体! 夜幕降临,圆月高悬,在不绝于耳的欢呼声中,玛丽亚凯莉以一袭流光溢彩的礼服优雅…

【LIO】FAST-LIO论文详解

FAST-LIO论文详解 1. 摘要2. 简介1. 相关工作A. LiDAR 里程计和地图绘制 2. 实现方法A. 基础知识1. 连续模型在这里插入图片描述 B. 激光雷达测量的预处理C. 状态估计1) 前向传播:2) 反向传播与运动补偿:3) 残差计算: 1. 摘要 提出了一种计算…