TensorBoard:训练日志及网络结构可视化工具

jupiter
2022-01-16 / 15 评论 / 12,823 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年01月16日,已超过1403天没有更新,若内容或图片失效,请留言反馈。

1.安装

pip install tensorboard

2.可视化标量数据(loss和accuracy)

from torch.utils.tensorboard import SummaryWriter
import random

# 实例化TensorBoard
logs_writer = SummaryWriter('./logs')

# 可视化标量数据
for epoch_id in range(100):
    logs_writer.add_scalar("train/loss",random.random(),epoch_id)
    logs_writer.add_scalar("train/accuracy",random.random(),epoch_id)
    
    logs_writer.add_scalar("test/loss",random.random(),epoch_id)
    logs_writer.add_scalar("test/accuracy",random.random(),epoch_id)
tensorboard --logdir=logs --bind_all

3.可视化网络结构

"""
可视化网络结构
"""

import torch
import torch.nn as nn
from torch.utils.tensorboard import SummaryWriter

# 实例化TensorBoard
writer = SummaryWriter('./model_vis')


# 构建网络模型 - 使用自定义类
class Digit_Rec(nn.Module):
    def __init__(self):
        super(Digit_Rec,self).__init__()
        self.conv1 = nn.Conv2d(1,10,5) #1:灰度图片的通道,10:输出通道,5:kernel
        self.relu1 = nn.ReLU()
        self.max_pool = nn.MaxPool2d(2,2)
        self.conv2 = nn.Conv2d(10,20,3) #10:输入通道,20:输出通道,3:Kernel
        self.relu2 = nn.ReLU()
        self.fc1 = nn.Linear(20*10*10,500) # 20*10*10:输入通道,500:输出通道
        self.relu3 = nn.ReLU()
        self.fc2 = nn.Linear(500,10) # 500:输入通道,10:输出通道
        self.relu4 = nn.ReLU()
        self.softmax = nn.Softmax(dim=1)
    def forward(self,x):
        batch_size = x.size(0) # x的格式:batch_size x 1 x 28 x 28 拿到了batch_size
        
        x = self.conv1(x) # 输入:batch*1*28*28   输出:batch*10*24*24
        x = self.relu1(x)
        
        x = self.max_pool(x) # 输入:batch*10*24*24输出:batch*10*12*12
        
        x = self.conv2(x)
        x = self.relu2(x)
        
        x = x.view(batch_size,-1) #fatten 展平 -1自动计算维度,20*10*10=2000
        
        x = self.fc1(x) # 输入:batch*2000  输出:batch*500
        x = self.relu3(x)
        
        x = self.fc2(x) # 输入:batch*500  输出:batch*10
        x = self.relu4(x)
        
        output = self.softmax(x) # 计算分类后,每个数字的概率值
        
        return output

model =  Digit_Rec()

model = Digit_Rec()
images = torch.randn(1, 1, 28, 28)
writer.add_graph(model, images)
writer.close()
tensorboard --logdir=model_vis --bind_all

参考资料

  1. Pytorch中使用tensorboard学习笔记(2)记录损失loss和准确率accuracy
  2. pytorch中使用tensorboard绘制Accuracy/Loss曲线(train和test显示在同一幅图中)
  3. pytorch中使用TensorBoard进行可视化Loss及特征图
0

评论 (15)

打卡
取消
  1. 头像
    隔壁小胡
    iPhone · Safari

    博友你好,取消下友联

    回复
  2. 头像
    范明明
    Windows 10 · Google Chrome

    过年好,玩到的祝福。
    小白对于此文章是完全看不懂……

    回复
    1. 头像
      jupiter 作者
      Windows 10 · Google Chrome
      @ 范明明

      哈哈,没事的,到有这个需求的时候就会能看懂的

      回复
      1. 头像
        范明明
        Windows 10 · Google Chrome
        @ jupiter

        建议给网站加上SSL证书吧。

        回复
  3. 头像
    sozzzlmmmn
    Windows 10 · Google Chrome

    文章的叙述风格独特,用词精准,让人回味无穷。

    回复
  4. 头像
    ucvaiwrzuz
    Windows 10 · Google Chrome

    技术原理阐述透彻,配图辅助理解到位。

    回复
  5. 头像
    mbmsktzbzg
    Windows 10 · Google Chrome

    以终为始的思考方式为行业指明方向。

    回复
  6. 头像
    vlnbbpqdgi
    Windows 10 · Google Chrome

    立意高远,以小见大,引发读者对社会/人性的深层共鸣。

    回复
  7. 头像
    khlymresfg
    Windows 10 · Google Chrome

    作者以非凡的视角解读平凡,让文字焕发出别样的光彩。

    回复
  8. 头像
    jwkxbpstur
    Windows 10 · Google Chrome

    文章深入浅出,既有深度思考,又不乏广度覆盖,令人叹为观止。

    回复
  9. 头像
    nlcvdekkdl
    Windows 10 · Google Chrome

    这篇文章不错!

    回复
  10. 头像
    fxyohkaubi
    Windows 10 · Google Chrome

    新项目准备上线,寻找志同道合的合作伙伴

    回复
  11. 头像
    llzadlmkfz
    Windows 10 · Google Chrome

    做了几十年的项目 我总结了最好的一个盘(纯干货)

    回复
  12. 头像
    jcmeyuyzee
    Windows 10 · Google Chrome

    2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    回复
  13. 头像

    华纳圣淘沙开户步骤详解(183-8890-9465—?薇-STS5099【6011643】

    华纳圣淘沙公司开户流程全解析(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司账户注册指南(183-8890-9465—?薇-STS5099【6011643】
    新手如何开通华纳圣淘沙公司账户(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙企业开户标准流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户:从零到一(183-8890-9465—?薇-STS5099【6011643】
    官方指南:华纳圣淘沙公司开户流程(183-8890-9465—?薇-STS5099【6011643】
    华纳圣淘沙公司开户流程说明书(183-8890-9465—?薇-STS5099【6011643】

    回复