3_Tensorboard使用

1. Tensorboard用途

① Tensorboad 可以用来观察loss是否按照我们预想的变化,或者观察训练到某一步输入,输出的图像是什么样。

pip install tensorboard
from torch.utils.tensorboard import SummaryWriter

help(SummaryWriter)

2. 安装Tensorboard

img

经过上面步骤将终端改为pytorch的环境

使用镜像安装tensorboard,命令:pip install tensorboard -i https://pypi.tuna.tsinghua.edu.cn/simple

3. Tensorboard 写日志

#从tensorboard中导入SummaryWriter类
from torch.utils.tensorboard import SummaryWriter

# 创建一个logs文件夹,writer写的文件都在该文件夹下
writer = SummaryWriter("logs") 

#writer.add_image()
for i in range(100):
    
    # 添加标量数据到summary
    # def add_scalar(self,tag,scalar_value,global_step=None,walltime=None,new_style=False,double_precision=False,):
    # tag:对应图表标题;scalar_value:对应图表y轴单位;global_step:对应图表x轴单位
    writer.add_scalar("y=2x",2*i,i)
writer.close()

运行后pycharm生成日志文件

img

img

img

4. Tensorboard 读日志

可以使用pycharm的terminal终端,也可以使用下面的Anaconda 终端。logdir=事件文件所在文件夹名

img

① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。

img

② 为避免多人使用端口导致冲突,也可以在后面加上后缀,使得端口独立,tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs --port=6008

img

③ 输入网址可得Tensorboard界面。

img

如果图像不理想,可以将logs文件夹中的日志删除后,重新生成

5. Tensorboard 读图片

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np

# 图片的相对地址
img_path1 = "data/train/ants_image/0013035.jpg" 

img_PIL1 = Image.open(img_path1)
img_array1 = np.array(img_PIL1)
print(img_array1.shape)

img_path2 = "data/train/bees_image/17209602_fe5a5a746f.jpg" 
img_PIL2 = Image.open(img_path2)
img_array2 = np.array(img_PIL2)

writer = SummaryWriter("logs")

# def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats="CHW"):
# img_tensor:要求图片数据类型torch.Tensor, numpy.ndarray, or string/blobname

# add_image()对于tensor数据来说,默认的dataformats="CHW"正好符合,所以不需要设定
# 从PIL到numpy,需要在add_image()中指定shape中每一个数字/维表示的含义。
# 因为img_array1.shape是(高,宽,通道数),所以dataformats="HWC"

# 1 表示该图片在第1步
writer.add_image("test",img_array1,1,dataformats="HWC") 
# 2 表示该图片在第2步    
writer.add_image("test",img_array2,2,dataformats="HWC")               
writer.close()

img

posted @   RICKKIE  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示