我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pytorch可视化的几种实现方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pytorch可视化的几种实现方法

一,利用 tensorboardX 可视化网络结构

参考 https://github.com/lanpa/tensorboardX
支持scalar, image, figure, histogram, audio, text, graph, onnx_graph, embedding, pr_curve and video summaries.
例子要求tensorboardX>=1.2 and pytorch>=0.4

安装

pip install tensorboardXpip install git+https://github.com/lanpa/tensorboardX

例子


# demo.py

import torch
import torchvision.utils as vutils
import numpy as np
import torchvision.models as models
from torchvision import datasets
from tensorboardX import SummaryWriter

resnet18 = models.resnet18(False)
writer = SummaryWriter()
sample_rate = 44100
freqs = [262, 294, 330, 349, 392, 440, 440, 440, 440, 440, 440]

for n_iter in range(100):

    dummy_s1 = torch.rand(1)
    dummy_s2 = torch.rand(1)
    # data grouping by `slash`
    writer.add_scalar('data/scalar1', dummy_s1[0], n_iter)
    writer.add_scalar('data/scalar2', dummy_s2[0], n_iter)

    writer.add_scalars('data/scalar_group', {'xsinx': n_iter * np.sin(n_iter),
                                             'xcosx': n_iter * np.cos(n_iter),
                                             'arctanx': np.arctan(n_iter)}, n_iter)

    dummy_img = torch.rand(32, 3, 64, 64)  # output from network
    if n_iter % 10 == 0:
        x = vutils.make_grid(dummy_img, normalize=True, scale_each=True)
        writer.add_image('Image', x, n_iter)

        dummy_audio = torch.zeros(sample_rate * 2)
        for i in range(x.size(0)):
            # amplitude of sound should in [-1, 1]
            dummy_audio[i] = np.cos(freqs[n_iter // 10] * np.pi * float(i) / float(sample_rate))
        writer.add_audio('myAudio', dummy_audio, n_iter, sample_rate=sample_rate)

        writer.add_text('Text', 'text logged at step:' + str(n_iter), n_iter)

        for name, param in resnet18.named_parameters():
            writer.add_histogram(name, param.clone().cpu().data.numpy(), n_iter)

        # needs tensorboard 0.4RC or later
        writer.add_pr_curve('xoxo', np.random.randint(2, size=100), np.random.rand(100), n_iter)

dataset = datasets.MNIST('mnist', train=False, download=True)
images = dataset.test_data[:100].float()
label = dataset.test_labels[:100]

features = images.view(100, 784)
writer.add_embedding(features, metadata=label, label_img=images.unsqueeze(1))

# export scalar data to JSON for external processing
writer.export_scalars_to_json("./all_scalars.json")
writer.close()

运行: python demo.py 会出现runs文件夹,然后在cd到工程目录运行tensorboard --logdir runs

结果:

在这里插入图片描述

二,利用 vistom 可视化

参考:https://github.com/facebookresearch/visdom

安装和启动
安装: pip install visdom
启动:python -m visdom.server示例


    from visdom import Visdom
    #单张
    viz.image(
        np.random.rand(3, 512, 256),
        opts=dict(title=\\\\\'Random!\\\\\', caption=\\\\\'How random.\\\\\'),
    )
    #多张
    viz.images(
        np.random.randn(20, 3, 64, 64),
        opts=dict(title=\\\\\'Random images\\\\\', caption=\\\\\'How random.\\\\\')
    )

在这里插入图片描述


from visdom import Visdom

image = np.zeros((100,100))
vis = Visdom() 
vis.text("hello world!!!")
vis.image(image)
vis.line(Y = np.column_stack((np.random.randn(10),np.random.randn(10))), 
         X = np.column_stack((np.arange(10),np.arange(10))),
         opts = dict(title = "line", legend=["Test","Test1"]))

在这里插入图片描述

三,利用pytorchviz可视化网络结构

参考:https://github.com/szagoruyko/pytorchviz

到此这篇关于Pytorch可视化的几种实现方法的文章就介绍到这了,更多相关Pytorch可视化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Pytorch可视化的几种实现方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pytorch网络结构可视化的方法是什么

在PyTorch中,可以使用以下两种方法来可视化网络结构:使用torchviz库:torchviz库提供了一个简单的方法来可视化PyTorch神经网络的结构。可以通过安装torchviz库并使用它的make_dot函数来创建一个可视化的图形
pytorch网络结构可视化的方法是什么
2024-04-08

Mysql 优化的几种方法

MySQL是当前最流行的一个关系型数据库管理系统,广泛应用于各种互联网应用场景中。然而在实际的开发和运维过程中,我们经常会遇到一些性能问题,如查询慢、请求堆积等,需要通过MySQL优化来解决。本文将详细讲解MySQL优化的原理、方法和工具,
2023-08-19

Pixi.js实现可视化图形编辑器的方法

本文主要介绍了Pixi.js实现可视化图形编辑器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-19

python用pyecharts实现地图数据可视化的方法

这篇文章给大家分享的是有关python用pyecharts实现地图数据可视化的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有的时候,我们需要对不同国家或地区的某项指标进行比较,可简单通过直方图加以比较。但直
2023-06-14

RiSearch PHP 与数据可视化的集成实现方法

引言:随着互联网的发展,大数据时代已经来临。数据分析和可视化成为了当今企业发展中至关重要的一环。为了更好地分析和可视化数据,很多程序员选择使用RiSearch PHP作为搜索引擎,并通过集成实现数据可视化。本文将详细介绍RiSearch P
2023-10-21

pytorch分类模型绘制混淆矩阵及可视化的方法

本文小编为大家详细介绍“pytorch分类模型绘制混淆矩阵及可视化的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“pytorch分类模型绘制混淆矩阵及可视化的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-06-29

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

Apache Superset是一个强大的BI工具,它提供了查看和探索数据的方法。它在 ClickHouse 用户中也越来越受欢迎。 我们将介绍安装 Superset 的 2 种方法,然后展示如何从 Superset 连接到您的第一个 Cl
2022-06-04

XP系统强制删除视频文件的几种可行方法

在js使用xp系统的时候我们都知道xp系统有个视频文件预览功编程客栈能的效果,可以让我们查看我们下载的视频能否播放,但是有时这个功能会导致我们无法删除视频文件,当出现这个问题该如何解决?下面小编分享三个解决办法。方法一:粉碎文件删除法通过3
2023-06-11

Python数据可视化的方法

这篇“Python数据可视化的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python数据可视化的方法”文章吧。一、数
2023-06-30

SQLserver日志优化的几种方法

目录1. 查看日志内容2. 日志记录级别3. 减少日志产生的措施a. 切换到简单恢复模式b. 定期备份事务日志c. 避免长事务d. 检查和清理未提交的事务e. 定期收缩日志文件总结要管理SQL Server数据库中的日志增长问题,可以从几个
SQLserver日志优化的几种方法
2024-10-09

sql优化常用的几种方法

sql 优化常用的方法问题:常用的 SQL 优化方法有哪些?答案:常用的 SQL 优化方法包括以下几种:1. 索引优化创建适当的索引以加速查询,减少表扫描。删除不必要的索引以提高性能。2. 查询优化使用正确的查询类型(如 SELEC
sql优化常用的几种方法
2024-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录