• 【VS Code 使用tensorboard功能技巧】


    1 安装依赖库

    pip install teorbaord
    pip install torch_tb_profiler
    
    • 1
    • 2

    安装上面的库后,在代码中点击启动,
    在这里插入图片描述
    弹出选择log日志文件夹
    在这里插入图片描述
    启动成功后,弹出tensorboard页面,查看数据、图表,点击刷新,观察实时变化。
    在这里插入图片描述

    若启动失败,执行

    1. 打开一个环境终端,pip list,查看是否安装了 tb-nightly,若有则卸载:
    2. pip uninstall tb-lightly
    3. pip uninstall tensorboard 及 tensorboard相关的包,
    	或者在方法2:进入环境中\Lib\site-packages中删除tensorboard 及tensorboard相关的包
    5. 重新打开一个环境终端,重新安装tensorboard相关包
    6. pip install teorbaord
    7. pip install torch_tb_profiler
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2 使用tensorboard功能

    (1)Tensorboard常用的四个功能
    graphs: 保存网络结构图;
    scalars: 精确度,学习率,损失曲线;
    histograms: 训练权重分布;
    images: 展示图像信息。
    (2)画线——add_scalaar

    from torch.utils.tensorboard import SummaryWriter
    # 创建编辑器,保存日志,指令保存路径log_dir
    writer = SummaryWriter(log_dir="./logs") 
    # 指定保存位置
    # y = 2 * x
    for i in range(100):
        
    # 添加标题,x轴,y轴
        
    # tag: 标题名, scalar_value: y轴, global_step: x轴
        writer.add_scalar(tag="y=2x",scalar_value=2*1,global_step=i)
        # writer.add_scalar('training loss',train_total_loss,epoch)
    # 关闭
    writer.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    在VS Code里执行以上代码,就会在生成的logs文件夹里保存相关文件。
    在虚拟环境终端中进入到logs的上级目录,输入启动指令(如下),点击生成的链接即可查看结果。

    # 使用默认端口
    tensorboard --logdir=logs
    # 使用指定端口
    tensorboard --logdir=logs --port=6007
    或者 tensorboard --logdir 完整路径 --host=127.0.0.1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    终端键入Ctrl + C结束进程。

    (3)展示单/多张张图像——add_image/add_images

    from torch.utils.tensorboard import SummaryWriter
    import numpy as np
    from PIL import Image
    # 创建编辑器,保存日志,指令保存路径log_dir
    writer = SummaryWriter(log_dir="./logs") 
    # 指定保存位置
    # 图像地址
    image_path = "/home/chenshili/图片/food_01.jpeg"
    # 打开图像
    img_PIL = Image.open(image_path) 
    # 用PIL打开的图像,其文件格式是PIL的特有类
    # 转化成numpy数据,因为add_image只能传入array或者tensor数据,所以要做类型转化。
    img_array = np.array(img_PIL)
    # 开始画图,tag: 标题,img_tensor: tensor或者numpy类型的数据, dataformats: H高W宽C通道,指定HWC类型
    writer.add_image(tag="train",img_tensor=img_array,global_step=1,dataformats="HWC")
    
    img=torch.stack([img_array,img_array,img_array],dim=0)
    writer.add_images('train_example_image',img)
    # 关闭
    writer.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    (4)画模型——add_graph

    from torch.utils.tensorboard import SummaryWriter
    import torch
    from torch.nn import Linear,ReLU,Sequential
    # 创建编辑器,保存日志,指令保存路径log_dir
    writer = SummaryWriter(log_dir="./logs") 
    # 指定保存位置
    model = Sequential(
        Linear(1,10),
        ReLU(),
        Linear(10,1)
    )
    data = torch.ones(10,1)
    writer.add_graph(model=model,input_to_model=data)
    # 关闭
    writer.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    (5)存放不同文件夹,对比参数

    from torch.utils.tensorboard import SummaryWriter
    import os
    import datetime
    # 按时间构建生成文件保存的文件夹
    log_dir = os.path.join("./logs",datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
    print(log_dir)
    # 创建编辑器,保存日志,指令保存路径log_dir
    writer = SummaryWriter(log_dir=log_dir) 
    # 指定保存位置
    for i in range(100):
        writer.add_scalar(tag="loss",scalar_value=1*i,global_step=i)
        
    # 多执行几次把scalar_value的值做修改,如2*i,i等
    # 关闭
    writer.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    mysql第三次作业
    Ruoyi集成flyway后启动报错的解决方法
    LED电子显示屏的异步图文控制技术
    【Java面试】Spring中 BeanFactory和FactoryBean的区别
    C#图片处理如何生成缩略图
    Exoplayer源码解析2
    Photoshop 2024 mac/win版:探索图像处理的全新境界
    基于libjpeg-turbo库的jpeg4py安装与使用记录
    JavaScript 31 JavaScript 日期获取方法
    艾美捷Immunochemistry FAM FLICA Poly Caspase检测方案
  • 原文地址:https://blog.csdn.net/m0_46256255/article/details/133648623