当前位置: 首页 > news >正文

一学一做动漫视频网站焕识品牌设计

一学一做动漫视频网站,焕识品牌设计,不要网站域名,金华安全网站建设怎么收费目录1 什么是Tensorboard?2 Tensorboard安装3 Tensorboard可视化流程4 Tensorboard可视化实例4.1 常量可视化4.2 特征图可视化1 什么是Tensorboard? 在深度学习领域,网络内部如同黑箱,其中包含大量的连接参数,这给人工…

目录

  • 1 什么是Tensorboard?
  • 2 Tensorboard安装
  • 3 Tensorboard可视化流程
  • 4 Tensorboard可视化实例
    • 4.1 常量可视化
    • 4.2 特征图可视化

1 什么是Tensorboard?

在深度学习领域,网络内部如同黑箱,其中包含大量的连接参数,这给人工调试造成极大的困难。Tensorboard则是神经网络的可视化工具,可以记录训练过程的数字、图像、运行图等内容,方便研究人员对训练参数进行统计,观察神经网络训练过程并指导参数优化。

在这里插入图片描述

2 Tensorboard安装

参考Anaconda安装与Python虚拟环境配置保姆级图文教程(附速查字典)创建一个实验用的虚拟环境。进入相应虚拟环境后,输入以下指令即可安装。

pip install tensorboardX
pip install tensorboard

安装完成后,进入环境

python
from torch.utils.tensorboard import SummaryWriter

若上述指令不报错即说明安装成功。

3 Tensorboard可视化流程

Tensorboard可视化过程主要为:

  • 为某次实验创建数据记录句柄

    writer = SummaryWriter(path)
    

    其中path是数据记录日志的存储路径。

  • 通过writer实例的add_xxx方法向日志写入不同类型的观察数据,主要类型有

    Scalars:在模型训练期间显示不同的有用信息
    Graphs:显示模型
    Histogram:使用直方图显示权重
    Distribution:显示权重分布
    Projector:显示主成分分析和T-SNE算法,用于降维

  • 启动Tensorboard可视化引擎

    tensorboard --logdir=<your_log_dir>
    

    其中<your_log_dir>可以是单次实验的日志所在路径,也可以是多次实验的父级目录,Tensorboard会自动横向比较各次实验曲线。

4 Tensorboard可视化实例

4.1 常量可视化

这边给大家提供一个很方便的装饰器,实现过程如下

from tensorboardX import SummaryWriter
import os, timeclass Visualizer:def __init__(self) -> None:pass@staticmethoddef visual_scale(title: str, path: str, cover: bool=True):'''* @breif: 可视化模型标量数据* @param[in]: title  -> 图表名称* @param[in]: path   -> 可视化数据存储路径* @param[in]: cover  -> 是否覆盖已有可视化数据'''def scale(func):def wrap(*args, **kwargs):writer = SummaryWriter(log_dir=Visualizer.coverFile(path, cover))result = func(*args, **kwargs)if len(result) > 0:data_num = len(result[next(iter(result))])for i in range(data_num):writer.add_scalars(title, {k: v[i] for k, v in result.items()}, i)return resultreturn wrapreturn scale

使用起来只需要一句话,注意要构造一个字典,记录将要传递给tensorboard的数据:

@visual_scale('loss', './log/fcnn')
def main(model, epochs: int, save: bool=False) -> None:# 生成优化器——随机梯度下降optimizer = torch.optim.SGD(model.parameters(), 1e-3)lossParam = {"trainLoss": [], "validLoss": []}for i in range(epochs):lossParam["trainLoss"].append(train(i, epochs, model, optimizer))lossParam["validLoss"].append(validate(i, epochs, model))if save:torch.save(model.state_dict(), r"model/{}.pth".format(model.__str__))return lossParam

在这里插入图片描述

在这里插入图片描述

4.2 特征图可视化

同样用装饰器的形式构造一个可视化卷积核的工具函数

def visual_kernal(title: str, path: str, append: bool=False):def kernal(func):def warp(*args, **kwargs):if not append and os.path.exists(path):delFiles(path)writer = SummaryWriter(log_dir=path)result = func(*args, **kwargs)try:model = kwargs['model']for name, param in model.named_parameters():if 'conv' in name.lower() and 'weight' in name:Cout, Cin, Kh, Kw = param.size()kernelAll = param.reshape(-1, 1, Kw, Kh)  # 每个通道的卷积核kernelGrid = vutils.make_grid(kernelAll, nrow=Cin)writer.add_image(f'{title}--{name}', kernelGrid, global_step=0)except:raise AttributeError("被修饰函数传入的模型不存在或参数格式有误!")return resultreturn warpreturn kernal

在这里插入图片描述


🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇
http://www.yayakq.cn/news/483513/

相关文章:

  • 新的网站建设技术方案wordpress注册发送验证码
  • 建设户外腰包网站个人网站域名备案
  • 清华紫光是可以做网站的吗深圳做网站seo
  • 做网站到底能不能赚钱网站色调红黑
  • 支付公司网站建设费怎么入账百度网络营销app
  • 郑州做网站远辰什么是网站结构优化
  • 移动端网站建设 新闻动态动易网站风格免费下载
  • 怎么做阿里巴巴官网站示范建设验收网站
  • 做药的常用网站有哪些网页设计与制作教程第五版课后答案
  • 上海建网站哈尔滨网站建设流程
  • 前端做的比较好的网站常见的网络营销方式有哪几种
  • python 和php网站开发电商购物平台软件开发
  • vscode的网站开发配置电子政务网站建设公司
  • 苏南建设集团网站wordpress 访问者
  • 网站建设分几个阶段怎么查看网站开发语言的类型
  • 成都工信部网站w3c网站开发
  • 网站首页图片素材长图汕头珠宝网站建设
  • 固原微信网站建设建设宣传家乡的网站
  • 如何撰写一个网站规划建设方案万网域名注册接口
  • 网站建设平台对比用织梦做网站有后台吗
  • 网站引导页html模板国外网店平台有哪些
  • 网站怎样做seo推广wordpress本地视频播放器
  • 做优化的网站电话工业互联网平台首先要提高数据的挖掘能力
  • 2019做哪个网站赚钱佛山网站设计建设
  • 建个公司网站需要多少钱教育培训机构排名前十
  • 湛江电子商务网站建设网站上的图片做多大
  • 怎样做模具钢网站赣州网站建设价格
  • 郑州网站建设 app开发常州网站建设
  • 公司的网站 优帮云手机上怎么做能打开的网站
  • 发泡机 东莞网站建设大连网站推广怎么收费