pytorch 计算图可视化(【人工智能概论】 PyTorch可视化工具Tensorboard安装与简单使用)
导读:【人工智能概论】 PyTorch可视化工具Tensorboard安装与简单使用 一. 安装Tensorboard...
【人工智能概论】 PyTorch可视化工具Tensorboard安装与简单使用
一. 安装Tensorboard
1.1 安装Tensorboard
Tensorboard原本是Tensorflow的可视化工具 ,但自PyTorch1.2.0版本开始 ,PyTorch正式内置Tensorboard的支持 ,尽管如此仍需手动安装Tensorboard 。否则会报错 。ModuleNotFoundError: No module named ‘tensorboard’
进入相应虚拟环境后 ,输入以下指令即可安装 。 pip install tensorboard1.2 验证安装
输入以下指令 ,不报错即说明安装成功 。 from torch.utils.tensorboard import SummaryWriter二.Tensorboard功能简介
Tensorboard常用的四个功能 graphs: 保存网络结构图; scalars: 精确度 ,学习率 ,损失曲线; histograms: 训练权重分布; images: 展示图像信息 。 画线——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.close() 在PyCharm里执行以上代码 ,就会在生成的logs文件夹里保存相关文件 。 在PyCharm的虚拟环境终端中进入到logs的上级目录 ,输入启动指令(如下),点击生成的链接即可查看结果 。 # 使用默认端口 tensorboard --logdir=logs # 使用指定端口 tensorboard --logdir=logs --port=6007 终端键入Ctrl + C结束进程 。 展示单张图像——add_image 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") # 关闭 writer.close() 画模型——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() 模型对比 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()
声明:本站所有文章 ,如无特殊说明或标注,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!