当前位置: 首页 > news >正文

跟着小土堆学习pytorch(二)——TensorBoard和Transform

文章目录

  • 一、TensorBoard
    • 1.1 add_scalar()
      • 1.1,1 报错:TypeError: MessageToJson() got an unexpected keyword argument 'including_default_value_fields'
      • 1.1.2 图像重叠
      • 1.1.3 代码展示
    • 1.2 add_image()
      • 1.2.1 代码
  • 二、transform
    • 2.1 介绍——对图片进行一些变化
    • 2.2 补:查看py文件下(如,transform.py)下的结构
    • 2.3 查找快捷键
    • 2.4 常用的类
    • 2.5 tensor
    • 2.6 __call__()
    • 2.7 cv2库
    • 2.8 代码与效果

一、TensorBoard

主要是用来绘制train/val loss图像(图像现实)
比如,在训练过程的时候看看loss的图像情况,loss就是描述实验数据和真实数据的差距

1.1 add_scalar()

1.1,1 报错:TypeError: MessageToJson() got an unexpected keyword argument ‘including_default_value_fields’

这个是由于,tensorboard的版本过高了
pip install tensorboard==2.12.0弄个低版本就行
嗯,数据就生成了
在这里插入图片描述

1.1.2 图像重叠

如果重叠了,就是同一个标签下面,会造成图像混合在一起,进行拟合,很乱,需要删除logs下的event事件

1.1.3 代码展示

from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("D:\\pycharm_project\\try3\\math\\logs")# writer.add_image()for i in range(100):writer.add_scalar("y=x",i,i)writer.close()

1.2 add_image()

在这里插入图片描述
对于img_tensor这个参数,图片格式必须torch.Tensor, numpy.ndarray, or string/blobname
在这里插入图片描述
能看清每一步的数据

1.2.1 代码

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as npwriter = SummaryWriter("D:\\pycharm_project\\try3\\math\\logs")
img_path = "D:\\pycharm_project\\try3\\dataset\\train\\bees\\21399619_3e61e5bb6f.jpg"
img_PIL = Image.open(img_path)
img_array = np.array(img_PIL)print(type(img_array))
print(img_array.shape)writer.add_image("train",img_array,2,dataformats='HWC')for i in range(100):writer.add_scalar("y=x",i,i)writer.close()

二、transform

2.1 介绍——对图片进行一些变化

对图片进行一些变化
在torchvision库中,"transform"指的是一系列用于图像预处理和数据增强的操作。这些操作可以改变图像的大小、颜色、对比度等属性,或者对图像进行裁剪、旋转等。

Resize:调整图像的大小。它可以接受一个整数或者一个尺寸序列(高度,宽度)。如果提供整数,图像的较小边将被调整为此数值,同时保持原始宽高比。

CenterCrop:将图像裁剪为给定的尺寸,裁剪操作在图像的中心进行。

RandomCrop:随机裁剪图像的一部分。可以指定裁剪区域的尺寸,以及是否在必要时对图像进行填充。

RandomHorizontalFlip和RandomVerticalFlip:随机水平或垂直翻转图像。这些变换以一定的概率(默认为0.5)应用。

ColorJitter:随机改变图像的亮度、对比度、饱和度和色调。

Grayscale:以一定的概率将图像转换为灰度图像。

RandomRotation:随机旋转图像一个角度,角度范围可以指定。

Normalize:对图像进行标准化处理,即减去均值并除以标准差。这通常在数据预处理的最后阶段进行,以确保模型输入的一致性。

ToTensor:将PIL图像或numpy数组转换为torch.Tensor对象。转换后的张量形状为(C, H, W),其中C是通道数,H是高度,W是宽度。

Compose:将多个变换组合成一个。这是最常用的变换之一,因为它允许你将一系列的预处理步骤串联起来,一次性应用到图像上。

2.2 补:查看py文件下(如,transform.py)下的结构

,这些库,里面的类,很多,想要查看可以组合键Alt+7
在这里插入图片描述
下拉之后,双击,可以定位到目标函数

2.3 查找快捷键

setting—>keymap—>structure

2.4 常用的类

compose—几种变换进行组合一起
totensor—变成tensor格式
ToPILImage—变成PILimage格式
Normalize—正则化
CenterCrop—中心裁剪
resize—裁剪/变换

2.5 tensor

  1. transform怎么用
  2. tensor的数据类型

totensor的__call__()
在这里插入图片描述
输入图片,返回tensor

tensor_trans = transforms.ToTensor() # 实例化
tensor_img = tensor_trans(img)       # 调用

tensor数据类型,包装了神经网络所需要的一些理论参数

2.6 call()

call方法可以使对象具有当作函数的功能,当你调用对象,就会自动调用call方法

2.7 cv2库

使用cv2.imread,返回出来的就是ndarry,也能通过totensor转成tensor

Alt+Enter—> 自动导入库
ctrl + p —> 现实需要输入的参数

2.8 代码与效果

from PIL import Image
from torch.utils.tensorboard import SummaryWriterfrom torchvision import transformsimg_path = "D:\\pycharm_project\\try3\\dataset\\train\\ants\\0013035.jpg"
img = Image.open(img_path)
writer_try = SummaryWriter("D:\\pycharm_project\\try3\\math\\logs")tensor_trans = transforms.ToTensor() # 实例化
tensor_img = tensor_trans(img)       # 调用print(tensor_img)writer_try.add_image("Tensor_img", tensor_img)
writer_try.close()

tensorboard --logdir=D:\pycharm_project\try3\math\logs以后logs文件,我都用绝对地址,不然总是出问题
在这里插入图片描述

相关文章:

跟着小土堆学习pytorch(二)——TensorBoard和Transform

文章目录 一、TensorBoard1.1 add_scalar()1.1,1 报错:TypeError: MessageToJson() got an unexpected keyword argument including_default_value_fields1.1.2 图像重叠1.1.3 代码展示 1.2 add_image()1.2.1 代码 二、transform2.1 介绍——对图片进行一些变化2.2 …...

自由学习记录(10)

Sprite Packer ~Mode & 图集 packer Project Setting经常是金屋藏娇 创建的项目如果不是2d项目,则默认disable打包 编辑模式就是你没点运行看游戏效果,在狼狈敲码创对象写逻辑的那个状态, 运行模式从点了|>之后,就一直…...

Redis提供了专门的命令来实现自增操作

Redis中的自增操作并不是直接通过CAS(Compare and Set)操作实现的。Redis提供了专门的命令来实现自增操作,这些命令能够确保操作的原子性,而不需要显式地使用CAS机制。 Redis中的自增操作 Redis中的自增操作主要依赖于以下几个命…...

uniapp修改input中placeholder样式

Uniapp官方提供了两种修改的属性方法&#xff0c;但经过测试&#xff0c;只有 placeholder-class 属性能够生效 <input placeholder"请输入手机验证码" placeholder-class"input-placeholder"/><!-- css --> <style lang"scss" s…...

GenerativeU:生成式开放目标检测

论文&#xff1a;https://arxiv.org/abs/2403.10191 代码&#xff1a;https://github.com/FoundationVision/GenerateU 感想 目标检测任务已经逐渐从闭集场景专项开集场景&#xff0c;在LLM加持下&#xff0c;速读越来越快。该方法仍然依赖于预先定义的类别&#xff0c;这意味着…...

element plus e-table表格中使用多选,当翻页时已选中的数据丢失

摘要&#xff1a; 点击第一页选中两个&#xff0c;再选择第二页&#xff0c;选中&#xff0c;回到第一页&#xff0c;之前选中的要保留&#xff01; element ui table 解决办法&#xff1a; :row-key“getRowKeys” &#xff08;写在el-table中&#xff09; methods中声明 ge…...

CentOS 7 网络连接显示“以太网(ens33)不可用”

1.创建linux虚拟机&#xff0c;配置网络和主机名显示" 以太网&#xff08;ens33&#xff0c;被拔出&#xff09;" 2.桌面右键此电脑&#xff0c;管理&#xff0c;找到“服务和应用程序”&#xff0c;点击“服务”&#xff0c;找到下图两个服务&#xff0c;点击圈起来…...

qt QNetworkProxy详解

一、概述 QNetworkProxy通过设置代理类型、主机、端口和认证信息&#xff0c;可以使应用程序的所有网络请求通过代理服务器进行。它支持为Qt网络类&#xff08;如QAbstractSocket、QTcpSocket、QUdpSocket、QTcpServer、QNetworkAccessManager等&#xff09;配置网络层代理支持…...

推荐IDE中实用AI编程插件,目前无限次使用

插件介绍 一款字节跳动推出的“基于豆包大模型的智能开发工具” 以vscode介绍【pycharm等都可以啊】&#xff0c;这个插件提供智能补全、智能预测、智能问答等能力&#xff0c;节省开发时间 直接在IDE中使用&#xff0c;就不用在网页中来回切换了 感觉还可以&#xff0c;响应速…...

【华为HCIP实战课程十五】OSPF的环路避免及虚链路,网络工程师

一、避免域间路由环路 1、区域内部的防环:区域内同步了LSA,SPF就决定了区域内部没有环路 2、区间的防环机制:非正常的ABR不更新3类LSA 为防止区域间的环路OSPF定义了骨干区域和非骨干区域和三类LSA的传递规则 1)、OSPF划分了骨干区域和非骨干区域,所有非骨干区域均直接…...

【编程语言】正则表达式:POSIX 与 PCRE 的全面比较及应用

目录 正则表达式&#xff1a;POSIX 与 PCRE 的全面比较及应用1. 正则表达式的基本概念1.1 基本元素1.2 正则表达式的历史 2. POSIX 正则表达式2.1 POSIX 正则表达式的语法2.1.1 基本正则表达式 (BRE)2.1.2 扩展正则表达式 (ERE) 2.2 POSIX 正则表达式的使用场景2.3 使用 POSIX …...

Spark Streaming 数据流处理

一、创建Spark Streaming 环境 二、读取数据&#xff08;监听端口&#xff09; 三、任务处理 四、启动程序 我这里写的是简单的单词数量统计 import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream} import org.apache.spark.{SparkConf, SparkConte…...

高效规划神器 markmap:一键将 Markdown 变思维导图!

❤️ 如果你也关注大模型与 AI 的发展现状&#xff0c;且对大模型应用开发非常感兴趣&#xff0c;我会快速跟你分享最新的感兴趣的 AI 应用和热点信息&#xff0c;也会不定期分享自己的想法和开源实例&#xff0c;欢迎关注我哦&#xff01; 微信公众号&#xff5c;搜一搜&…...

微服务基础架构(图)

微服务基础架构是一种现代化的软件架构模式&#xff0c;旨在将大型复杂的应用程序拆分为多个小型、独立的服务。每个微服务专注于特定的业务功能&#xff0c;可独立开发、部署和扩展。 在微服务基础架构中&#xff0c;通常会使用轻量级的通信机制&#xff0c;如 RESTful API 或…...

中电金信:大模型时代 金融机构企业架构转型如何更智能化?

随着人工智能技术的不断进步&#xff0c;AI大模型在金融行业已经广泛应用&#xff0c;推动金融机构实现更高效、智能化的服务&#xff0c;同时也为金融科技领域的发展带来新的挑战。中电金信基于业务建模的企业架构转型解决方案也顺势而动&#xff0c;关注大模型在具体场景上的…...

基于CRNN模型的多位数字序列识别的应用【代码+数据集+python环境+GUI系统】

基于CRNN模型的多位数字序列识别的应用【代码数据集python环境GUI系统】 基于CRNN模型的多位数字序列识别的应用【代码数据集python环境GUI系统】 背景意义 多位手写数字识别&#xff0c;即计算机从纸张文档、照片、触摸屏等来源接收并解释可理解的手写数字输入的能力。 随着…...

windows中命令行批处理脚本学习

目录 一 基础知识二 常见命令1. 输出 echo2. 注释 rem .... %...% :: goto if (10) ()3. 变量 set4. 获取参数 %数字 %*5. 退出 exit6. 复制 copy7.读取输出文件内容 type8. 帮助 命令xxx /?9.等待当前命令运行结束后,才执行下一条命令 call10. 修改字体编码 chcp11. 特殊变量…...

版本工具报错:Error Unity Version Control

NotConfiguredClientException: Unity VCS client is not correctly configured for the current user:Client config file....

ECharts饼图-饼图标签对齐,附视频讲解与代码下载

一、图表效果预览 引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个饼图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#…...

Python实现基于WebSocket的stomp协议调试助手工具分享

stomp协议很简单&#xff0c;但是搜遍网络竟没找到一款合适的客户端工具。大多数提供的都是客户端库的使用。可能是太简单了吧&#xff01;可是即便这样&#xff0c;假如有一可视化的工具&#xff0c;将方便的对stomp协议进行抓包调试。网上类似MQTT的客户端工具有很多&#xf…...

电路原理与情感关系的电子工程解读

电子工程视角下的电路与人生哲学1. 电路元件与情感关系的类比分析1.1 信号放大器与初恋心理初恋阶段的心理状态类似于简单的信号放大器系统。在这个模型中&#xff0c;情感输入信号被高度放大&#xff0c;微小的快乐信号能产生极大的幸福感输出&#xff0c;同样微小的伤害信号也…...

如何在Windows上实现高效完整的安卓应用安装:APK-Installer进阶指南

如何在Windows上实现高效完整的安卓应用安装&#xff1a;APK-Installer进阶指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK-Installer是一款专为Windows系统设…...

Android端集成MiniCPM-V-2_6轻量化版本:移动端图像风格迁移App开发

Android端集成MiniCPM-V-2_6轻量化版本&#xff1a;移动端图像风格迁移App开发 1. 引言 你有没有想过&#xff0c;用自己的手机摄像头&#xff0c;就能实时看到眼前的世界变成梵高的《星空》或者莫奈的《睡莲》&#xff1f;这听起来像是科幻电影里的场景&#xff0c;但现在&a…...

2023-2026热门网页游戏盘点|传奇页游稳居顶流,5大类型闭眼冲

近几年&#xff0c;电脑网页游戏凭借“无需下载、点开即玩”的便捷优势&#xff0c;依旧深受玩家喜爱&#xff0c;适配上班族、学生党等各类人群的碎片化娱乐需求。从复古传奇到策略竞技&#xff0c;从休闲解压到沉浸式MMO&#xff0c;各类热门页游百花齐放。今天&#xff0c;就…...

Slickflow.NET 基于 AI 大模型实现智能客服多轮问答系统

正文 异步/等待解决了什么问题&#xff1f; 在传统同步I/O操作中&#xff08;如文件读取或Web API调用&#xff09;&#xff0c;调用线程会被阻塞直到操作完成。这在UI应用中会导致界面冻结&#xff0c;在服务器应用中则造成线程资源的浪费。async/await通过非阻塞的异步操作解…...

python-flask-djangol框架的现代化动物园观光游览系统

目录技术选型与架构设计核心功能模块实现票务与游客管理智能化服务集成性能优化与测试部署与监控项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术选型与架构设计 采用Python的Flask或Django框架构建后端系统&#xff0c;具…...

MAI-UI-8B部署全攻略:开箱即用,快速体验GUI智能体强大功能

MAI-UI-8B部署全攻略&#xff1a;开箱即用&#xff0c;快速体验GUI智能体强大功能 1. 认识MAI-UI-8B&#xff1a;能"动手"的AI智能体 大多数AI助手只能回答问题或生成内容&#xff0c;而MAI-UI-8B却能做到真正意义上的"动手操作"。这是一个能够理解图形用…...

避开Unity动态合批的坑:为什么你的Dynamic Batching不生效?

深度剖析Unity动态合批失效的六大技术陷阱与实战解决方案 当你在Unity项目中精心设计了数百个低多边形道具&#xff0c;却发现性能面板中的Draw Calls居高不下时&#xff0c;动态合批&#xff08;Dynamic Batching&#xff09;很可能正在暗中失效。本文将揭示那些官方文档未曾详…...

次元画室快速部署教程:手把手解决网络权限与配置问题

次元画室快速部署教程&#xff1a;手把手解决网络权限与配置问题 1. 环境准备与快速部署 1.1 系统要求检查 在开始部署次元画室前&#xff0c;请确保您的系统满足以下最低要求&#xff1a; 操作系统&#xff1a;Ubuntu 20.04/22.04 LTS 或 CentOS 8/9&#xff08;推荐使用Ub…...

谷歌DeepMind与卡内基梅隆大学揭秘声音背后的脸

这项由谷歌DeepMind与卡内基梅隆大学联合开展的研究&#xff0c;发表于2024年的计算机视觉与模式识别顶级会议CVPR&#xff08;IEEE/CVF Conference on Computer Vision and Pattern Recognition&#xff09;&#xff0c;论文编号为arXiv:2404.01975&#xff0c;有兴趣深入了解…...