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夏令营)

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

ssrf漏洞之——漏洞复现

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

工业4G路由器

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

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

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

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

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

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

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

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…

【USRP】 Link 16 战术数据链 实训系统

Link 16 战术数据链 实训系统 一、基于USRP的Link16平台简介1、整体架构2、JTIDS终端架构3、平台特点3.1、提高技术理解与应用能力3.2、培养创新思维与问题解决能力3.3、加强跨学科融合与团队合作 4、平台建设4.1、基础理论教学模块4.2、LabVIEW 算法模块4.3、USRP仿真模块4.4、…

Unity+Addressable

前期准备 下载一个hfs本地服务器,打开即可 HFS ~ HTTP 文件服务器 (rejetto.com) 1.安装Addressable插件 创建组 2.使用图片创建预制体 放入Addressable Groups内 3.右键 新建组 创建预制体t拖拽放入新建组里 新组命名为Gameobject 简化名称 4.创建一个测试脚本 …

点亮编程之路:如何克服学习中的挫折感

目录 引言 一、心态调整 A. 保持积极乐观的学习态度 1. 接受错误和失败 2. 专注于过程而非结果 3. 设定合理的目标和期望 B. 培养持续学习的习惯 1. 制定学习计划 2. 定期反思和总结 3. 寻找学习的乐趣 二、学习方法 A. 有效的学习策略 1. 分解复杂问题 2. 主动实践…

jmeter中CSV 数据文件设置用例

1、CSV数据文件的基础使用 线程组->添加->配置远近->CSV数据文件设置 2、多条用例运行CSV数据文件 由于我的csv请求的json数据有“,”所以我这边 分隔符选择了*号 写了两行需要测试的用例,需要添加一个“循环控制器” 线程组->添加-&g…

内存管理篇-09伙伴系统初始化一:memblock管理

1.伙伴系统的初始化概述 硬件初始化:计算机加电后进行硬件检测。加载引导程序,将Linux内核加载到内存中。 内核初始化:内核被加载后开始初始化各个子系统。进行CPU架构相关的初始化。初始化内存控制器和其他设备驱动。 内存管理初始化&…

Oracle开始严查Java许可!

0x01、 前段时间在论坛里就看到一个新闻,说“Oracle又再次对Java下手,开始严查Java许可,有企业连夜删除JDK”,当时就曾在网上引起了一阵关注和讨论。 这不最近在科技圈又看到有媒体报道,Oracle再次严查,对…