Transforms的学习以及地址问题

一、地址问题

在学习Dataset类的实战与Tensboard的学习中,有出现一些地址的问题:

1、相对地址

相对地址的使用:

使用于在从端口中,打开TensorBoard的页面。使用的就是相对地址;例如:

tensorboard --logdir=learningplan1/logs --port=6007

但是在pycharm中,对图片的读取,例如下述代码:

from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
# writer的使用
# 创建实例
writer = SummaryWriter("logs")
image_path = "D:/test pytorch/train/ants_image/6240329_72c01e663e.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
print(type(img_array))
print(img_array.shape)# 存储位置在logs
# 使用如下的两种方法
writer.add_image("train", img_array, 1, dataformats='HWC')# 标量
for i in range(100):writer.add_scalar("y = x", 3*i, i)writer.close()

其中的image_path使用的就是绝对地址,如果不使用绝对地址,则会出现如下的报错:

[errno 2] no such file or directory: 'd:\\test pytorch\\learningplan1\\dataset\\train\\ants_image\\0013035.jpg'

找不到打不开文件,并且报错。

二、transforms的学习

2.1、对图片的读取

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transformsimg_path = "D:/test pytorch/train/ants_image/0013035.jpg"
img = Image.open(img_path)Writer = SummaryWriter("logs")tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)Writer.add_image("tensor_img", tensor_img)
Writer.close()

使用终端来查看:

tensorboard --logdir=learningplan1/logs

结果:

2.2、Totensor的学习:

# totensor的使用
trans_totensor = transforms.ToTensor()
img_tensor = trans_totensor(img)
writer.add_image("Totensor", img_tensor)

实现将图片转换为tensor型

2.3、 归一化的使用

# Normalize
print(img_tensor[0][0][0])
trans_norm = transforms.Normalize([0.7, 0.7, 0.7], [0.7, 0.7, 0.7])
img_norm = trans_norm(img_tensor)
print(img_norm[0][0][0])
writer.add_image("Normalize", img_norm, 2)
writer.close()

 实现的效果:

读取到的图片转化为Tensor类型;

[0.3,0.3,0.3]的参数:

[0.5,0.5,0.5]参数:

[0.7,0.7,0.7]参数:

归一化的作用,改变模型参数,使得模型呈现出不同的形态。

2.4 Resize()的使用

# compose resize_2
trans_resize_2 = transforms.Resize(512)
# PIL - PIL - tensor
trans_compose = transforms.Compose([trans_resize_2, trans_totensor])
img_resize_2 = trans_compose(img)
writer.add_image("Resize", img_resize_2, 1)

2.5 图片的随机裁剪:

trans_random = transforms.RandomCrop([512,1000]) # 长500.宽1000
trans_compose_2=transforms.Compose([trans_random, trans_totensor])# 需要的是数组
for i in range(10):img_crop = trans_compose_2(img) writer.add_image("RandpomCrop", img_crop, i) #展示在tensorboard中

实现的效果:

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

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

相关文章

新书推荐:《分布式商业生态战略:数字商业新逻辑与企业数字化转型新策略》

近两年,商业经济环境的不确定性越来越明显,市场经济受到疫情、技术、政策等多方因素影响越来越难以预测,黑天鹅事件时有发生。在国内外经济方面,国际的地缘政治对商业经济产生着重大的影响,例如供应链中断,…

rabbitMQ安装与简单demo

安装 mac安装有了brew很方便,windows的可参考 win10 安装rabbitMQ详细步骤 brew install rabbitmq启动 brew services start rabbitmq关闭 brew services stop rabbitmq出了问题之后可以重启一下 brew services restart rabbitmqsome issue 某些库下载超时 比…

使用vagrant、virtualbox、快速创建kali linux

使用vagrant、virtualbox、快速创建kali linux 初始化kali下载vagrant相应镜像vagrant添加相应镜像创建vagrantfile在vagrantfile根目录执行cmd虚拟机登录密码修改sshd配置 用shell远程链接(可选)可视化界面设置成中文创建成功展示图 添加实体网卡使用kali 破解WiFi密码解决 on…

Godot《躲避小兵》实战之为游戏添加音效

现在,我们已经完成了游戏的所有功能。以下是一些剩余的步骤,为游戏加点“料”,改善游戏体验。 随意用你自己的想法扩展游戏玩法。 背景 默认的灰色背景不是很吸引人,那么我们就来改一下颜色。一种方法是使用 ColorRect节点。将…

Ubuntu技巧-Ubuntu远程访问之电信公网IP

💡 大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、互联网和自媒体。 前面文章介绍了家庭服务器接入外网的三种方式的第一种,今天介绍第二种,即通过获得电脑公网IP,然后再设置动态…

QT Quick QML 网络助手——TCP客户端

GitHub 源码: QmlLearningPro ,选择子工程 Nettools.pro QML 其它文章请点击这里: QT QUICK QML 学习笔记 ● 运行效果: 左侧为常用的网络调试工具,右侧为本项目 UI 效果,前端使用 QML ,后端使用C &#xff…

linux(Ubuntu )搭C++ 最新版GDAL完整教程

在前面的文章中主要是介绍如何在windows系统下利用python安装gdal库,如下: 如何快速安装GDAL 在linux环境下python安装gdal也可以利用现成的whl文件,但是安装c GDAL环境的比较麻烦,目前网络上大多是安装的老版本的教程&#xff…

自适应学习率(Datawhale X 李宏毅苹果书 AI夏令营)

传统的梯度下降方法在优化过程中常常面临学习率设置不当的问题。固定的学习率在训练初期可能过大,导致模型训练不稳定,而在后期可能过小,导致训练速度缓慢。为了克服这些问题,自适应学习率方法应运而生。这些方法通过动态调整学习…

Spring常用的注解有哪些?作用是什么?怎么用?

一、怎么用&#xff1f; 首先需要在bean.xml文件中配置注解组件扫描&#xff0c;只有配置了组件扫描&#xff0c;spring才会去指定包下面扫描你使用了哪些注解&#xff0c;并让其生效。例如&#xff1a; <!--spring会去扫描com.frank包及其子包下所有的注解&#xff0c;并让…

引号的艺术:用CSS quotes 属性打造个性化引用

引号的艺术&#xff1a;用CSS quotes 属性打造个性化引用 摘要 CSS 的 quotes 属性是一个强大的工具&#xff0c;它允许开发者自定义网页上的引用标记&#xff0c;从而增强网页的视觉效果和用户体验。本文将深入探讨 quotes 属性的使用方法&#xff0c;包括如何设置不同的引号…

ssrf漏洞之——漏洞复现

漏洞介绍 SSRF漏洞&#xff1a;SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由恶意访问者构造url&#xff0c;由服务端对此url发起请求的一个安全漏洞。 漏洞原理 SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&#xff0c;并且没有对目…

Python :使用 YOLOv8、ultralytics 的 YOLO 模型识别图片里面有多少辆车

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 Python :使用 YOLOv8、ultralytic…

S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)

文章目录 1. 什么是Sharp71.1 什么是Sharp71.2 下载文件中包含的内容1.3 使用示例2. 如何使用Sharp7进行上位机开发2.1 S7-1200的配置2.2 创建示例项目2.3 连接到plc2.3 从DB读取2.4 写入DB2.5 示例代码3. 扩展3.1 C++上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的…

打卡52天------图论(应用题)

一、孤岛的总面积 基础题目 可以自己尝试做一做 。 代码随想录 二、沉没孤岛 和上一题差不多&#xff0c;尝试自己做做 代码随想录 三、水流问题 需要点优化思路&#xff0c;建议先自己读题&#xff0c;相处一个解题方法&#xff0c;有时间就自己写代码&#xff0c;没时间就…

工业4G路由器

设备概述 路由器是基于4G 技术研发的无线路由网关设备&#xff0c;除了具备传统路由器 的 VPN 、防火墙、 NAT 、 PPPoE 、 DHCP 等功能之外&#xff0c;还能支持 4G 无线拨号&#xff0c;提供最高可达 150Mbps 的无线高速带宽。路由器支持四个以太网接口&#xff0c;可更好…

谷歌、火狐及Edge等浏览器中实现allWebPlugin中间件自动安装及升级

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

【Kotlin设计模式】Kotlin实现单例模式

前言 单例模式&#xff08;Singleton Pattern&#xff09;&#xff0c;是确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问这个实例。在 Android 中&#xff0c;有许多系统服务和 API 使用了单例模式&#xff0c;比如&#xff1a; Context: 通过getApplication…

Mora:多智能体框架实现通用视频生成

人工智能咨询培训老师叶梓 转载标明出处 尽管已有一些模型能够生成视频&#xff0c;但大多数模型在生成超过10秒的长视频方面存在局限。Sora模型的出现标志着视频生成能力的一个新时代&#xff0c;它不仅能够根据文本提示生成长达一分钟的详细视频&#xff0c;而且在编辑、连接…

Image Stride(内存图像行跨度)

When a video image is stored in memory, the memory buffer might contain extra padding bytes after each row of pixels. The padding bytes affect how the image is store in memory, but do not affect how the image is displayed. 当视频图像存储在内存时&#xff0…

HeidiSQL中一些简单mysql语句的含义(二)

一、排序 #根据年龄进行降序排序 select * from student order by age desc; #根据年龄进行升序排序 select * from student order by age asc; #给字段起别名&#xff0c;as可以省略 select no as 编号, name as 姓名,age as 年龄 from student order by age asc; #查找…