Pytorch学习03_TensorBoard使用02

Opencv读取图片,获得numpy型数据类型

复制图片的相对路径

目前这种type不适用,考虑用numpy类型

安装opencv,在pytorch环境下

pip install opencv-python 

导入numpy

import numpy  as np

 将PIL类型的img转换为 NumPy 数组

img_array=np.array(img)

HWC三通道

H:高度        W:宽度        C:通道

from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Imagewriter = SummaryWriter("logs")
image_path="dataset/train/ants_image/0013035.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
print(type(img_array))
print(img_array.shape)writer.add_image("test",img_array,1,dataformats='HWC')# for i in range(100):
#     writer.add_scalar("y=2x",3*i,i)writer.close()

从PIL到numpy,需要在add_image()中指定shape中每一个数字/维表示的含义

终端运行

tensorboard --logdir=logs --port=6007

点击蓝色链接

点击“IMAGES” 

来到

修改一下

使用另一张图片的路径,运行

from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Imagewriter = SummaryWriter("logs")
image_path="dataset/train/ants_image/0013035.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
print(type(img_array))
print(img_array.shape)# writer.add_image("test",img_array,1,dataformats='HWC')
writer.add_image("test",img_array,2,dataformats='HWC')# for i in range(100):
#     writer.add_scalar("y=2x",3*i,i)writer.close()

回到网站,进行刷新

刷新后

拖动滑轮进行图片查看

拖到左边后,可以看到之前的图片

更换标签

from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Imagewriter = SummaryWriter("logs")
# image_path="dataset/train/ants_image/0013035.jpg"
image_path="dataset/train/ants_image/5650366_e22b7e1065.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
print(type(img_array))
print(img_array.shape)# writer.add_image("test",img_array,1,dataformats='HWC')
# writer.add_image("test",img_array,2,dataformats='HWC')
writer.add_image("train",img_array,1,dataformats='HWC')# for i in range(100):
#     writer.add_scalar("y=2x",3*i,i)writer.close()

运行后来到网站查看

参考

【PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】】 https://www.bilibili.com/video/BV1hE411t7RN/?p=9&share_source=copy_web&vd_source=be33b1553b08cc7b94afdd6c8a50dc5a

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

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

相关文章

电子邮件、SMTP、POP3 、IMAP协议

目录 1 电子邮件 1.1 电子邮件系统的组成 1.1.1 用户代理 UA (User Agent) 1.1.2 邮件服务器 (Mail Server) 1.1.3 邮件发送和读取协议 1.2 发送和接收电子邮件的重要步骤 1.3 电子邮件的组成 1.4 电子邮件地址的格式 2 简单邮件传送协议 SMTP 2.1 SMTP 通信的三个阶…

Vue--》深入学习Tailwind CSS掌握优雅而高效的前端样式开发

Tailwind CSS是一个非常强大且灵活的CSS框架,适用于开发者希望高度定制化界面样式的项目。今天博主就 Tailwind CSS 做一个简单介绍以及案例讲解,争取读者阅读文章后入门。 仅靠一篇文章博主也不可能将Tailwind CSS所有内容讲解的面面俱到,在…

揭秘产品迭代计划制定:从0到1打造完美迭代策略

产品迭代计划是产品团队确保他们能够交付满足客户需求的产品以及实现其业务目标的重要工具。开发一个成功的产品迭代计划需要仔细考虑产品的目标、客户需求、市场趋势和可用资源。以下是帮助您创建产品迭代计划的一些步骤:建立产品目标、收集客户反馈、分析市场趋势…

物联网和工业4.0

在当今这个快速发展的技术时代,物联网(IoT)和工业4.0成为了推动全球进入新工业时代的两大驱动力。对于刚入行的人来说,深入理解这两个概念及其背后的技术原理,对于把握未来的职业机会至关重要。 物联网,简…

php数组与字符串函数

php数组与字符串函数 1. php数组2. 字符串函数 1. php数组 在php中,有三种类型的数组: 数值数组 - 带有数字ID键的数组关联数组 - 带有指定的键的数组,每个键关联一个值多维数组 - 包含一个或多个数组的数组 2. 字符串函数 在PHP中&#xf…

一起玩儿Proteus仿真(C51)——05. 红绿灯仿真(一)

摘要:本文介绍如何仿真红绿灯 今天来做一个红绿灯仿真的程序,这个程序主要包括一下这些功能: 模拟的路口为十字交叉路口,假设东西和南北方向都是双向行驶,因此需要设置4组红绿灯和4个倒计时显示屏。倒计时时间最长为9…

web3知识体系汇总

web3.0知识体系 1.行业发展 2. web3的特点: 1、统一身份认证系统 2、数据确权与授权 3、隐私保护与抗审查 4、去中心化运行 Web3.0思维技术思维✖金融思维✖社群思维✖产业思维”,才能从容理解未来Web3.0时代的大趋势。 3.技术栈 Web3.jsSolidit…

OpenCV-38 图像金字塔

目录 一、图像金字塔 1. 高斯金字塔 2. 拉普拉斯金字塔 一、图像金字塔 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说,图像金字塔是同一图像不同分辨率的子图…

累加器 - 分布式共享写变量

水善利万物而不争,处众人之所恶,故几于道💦 文章目录 概念注意:应用 概念 因为RDD是可分区的,每个分区在不同的节点上运行,如果想要对某个值进行全局累加,就需要将每个task中的值取到然后进行累…

【C语言进阶】深度剖析数据在内存中的存储--上

1. C语言中的数据类型的简单介绍 注:C99标准里面,定义了bool类型变量。这时,只要引入头文件stdbool.h ,就能在C语言里面正常使用bool类型。 1.1 在C语言中各类型所占内存空间的大小如下 char类型的数据类型大小为1字节即8比特位。…

[NSSCTF]-Web:[SWPUCTF 2021 新生赛]easyrce解析

先看网页 代码审计: error_reporting(0); :关闭报错,代码的错误将不会显示 highlight_file(__FILE__); :将当前文件的源代码显示出来 eval($_GET[url]); :将url的值作为php代码执行 解题: 题目既然允许…

ChatGPT高效提问—prompt实践(视频制作)

ChatGPT高效提问—prompt实践(视频制作) 1.1 视频制作 ​ 制作视频对于什么都不懂的小白来说非常难。而随着AI技术的发展,这件事变得越来越简单,如今小白也可以轻松上手。如何借助ChatGPT来制作短视频。 ​ 其实方法非常简单&a…