visdom 使用教程

visdom 使用教程visdom教程visdom安装与启动服务visdom常用功能image窗口:图像显示与更新窗口显示images窗口:多个图像显示与更新窗口显示text窗口:显示文本与更新文本line窗口:绘制折线图与更新折线图scatter窗口:绘制散点图与更新散点图visdom安装与启动服务安装visdompipinstallvisdom打开服务python-mvisdom.server…

大家好,又见面了,我是你们的朋友全栈君。

visdom安装与启动服务

安装visdom

pip install visdom

打开服务

python -m visdom.server

浏览器中打开对应的网址。
在这里插入图片描述
在这里插入图片描述

visdom常用功能

首先创建一个新的环境,如不创建则默认在main环境下

#_*_coding:utf-8 _*_
import numpy as np
import visdom
import time

viz = visdom.Visdom(env="Test1") # 创建环境名为Test1

image窗口:图像显示与更新窗口显示

下面代码在一个image窗口中不断更新显示图像

#单张图像显示与更新demo
image = viz.image(np.random.rand(3,256,256),opts={'title':'image1','caption':'How random.'})
for i in range(10):
    viz.image(np.random.randn( 3, 256, 256),win = image)
    time.sleep(0.5)

在这里插入图片描述

images窗口:多个图像显示与更新窗口显示

#多图像显示与更新demo
images = viz.images(
        np.random.randn(20, 3, 64, 64),
        opts=dict(title='Random images', caption='How random.',nrow=5)
    )
for i in range(10):
    viz.images(np.random.randn(20, 3, 64, 64),win = images)
    time.sleep(0.5) 

在这里插入图片描述

text窗口:显示文本与更新文本

#text 显示与更新显示demo,将在窗口中连续打印字符
text = viz.text('Hello World !')
strForOut = "This is a string for you to print!"
out = ""
for i in range(len(strForOut)):
    out = out + strForOut[i]
    viz.text(out,win = text)
    time.sleep(0.2)

在这里插入图片描述

line窗口:绘制折线图与更新折线图

#绘画折线图演示
x=0
name=['acc','loss','loss2']
for i in range(50):
    y = np.random.randint(5, size=(1, 3))
    viz.line(Y=y,X=np.ones(y.shape)*x,
                    win='line',
                    opts=dict(legend=name,
                        title='line test',
                        width=800,
                        height=800,
                        xlabel='Time',
                        ylabel='Volume'),
                    update=None if x == 0 else 'append'
                    )
    time.sleep(0.1)
    x+=1

在这里插入图片描述

scatter窗口:绘制散点图与更新散点图

# 绘制散点图演示 二维
colors = np.random.randint(0, 255, (3, 3,))#第一维3表示该数据可以分为三类,以三种颜色的三点来比表示
win = viz.scatter(
    X=np.random.rand(255, 2),#表示要展示的散点数据
    #Y=(np.random.rand(255) + 1.5).astype(int),
    Y=np.random.randint(1,4,(255)),#每一个数据的类别,将以其对应的colors中的颜色来显示
    opts=dict(
        markersize=5,
        markercolor=colors,
        legend=['1', '2','3'],
        markersymbol = 'cross-thin-open'
    ),
)
# 绘制散点图演示 三维
colors = np.random.randint(0, 255, (3, 3,))#第一维3表示该数据可以分为三类,以三种颜色的三点来比表示
win = viz.scatter(
    X=np.random.rand(255, 3),#表示要展示的散点数据
    #Y=(np.random.rand(255) + 1.5).astype(int),
    Y=np.random.randint(1,4,(255)),#每一个数据的类别,将以其对应的colors中的颜色来显示
    opts=dict(
        markersize=5,
        markercolor=colors,
        legend=['1', '2','3'],
        markersymbol = 'cross-thin-open'
    ),
)

在这里插入图片描述

#实时更新绘制散点图
legend=['1', '2','3']
Scatter = viz.scatter(
    X=np.array([[0,0]]),
    Y=np.array([1]),
    opts=dict(
        markersize=5,
        legend=legend,
        # markersymbol = 'cross-thin-open'
        ),
    )


for i in range(20):
    X = np.random.rand(1,2)
    Y = np.random.randint(1,4,1)
    print(Y)

    viz.scatter(
        X=X,
        Y=Y,
        win=Scatter,
        update= 'append',
        name = legend[Y[0]-1],
        opts=dict(
            markersize=5,
            # markersymbol = 'cross-thin-open'
            )
    )
    time.sleep(0.5)

在这里插入图片描述
更多应用请参考官方demo:
https://github.com/facebookresearch/visdom/blob/master/example/demo.py

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149107.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsp:include引入jsp文件的时候(如果被包含的文件存在js文件),不要用相对路径

    jsp:include引入jsp文件的时候(如果被包含的文件存在js文件),不要用相对路径先回忆一下二者的区别(对于此篇文章而言,二者在用法上没有区别) jsp:include是先编译一下included.jsp文件,然后再包含 先编译,后包含@ include是先把文件包含就来,然后统一编译 先包含,后编译  今天下午想把jQuery集成到项目中,发现怎么样都会出问题。原因就是路径问题。在集成时,我的思路是…

    2022年6月13日
    27
  • Android 的CompoundButton(抽象类按钮)、StringBuffer(字符串变量)「建议收藏」

    Android 的CompoundButton(抽象类按钮)、StringBuffer(字符串变量)「建议收藏」1、写在前面的话本人40岁纯小白一枚,最近对AndroidAPP有了兴趣,目前的任务:通过AndroidStudio利用Apchepoi、EasyExcel等第三方库,编写APP,实现移动端APP与后台Excel的数据交互。这次利用CSDN平台记录下自己的成长。纯属小白,有概念或者描述错误,希望大佬们不吝赐教,再此谢过。2、任务目标目前正在学习这本书,在做P110页的作业时,发现的问题:作业要求,点击“进入主页”的按钮,一次性获取已近选取的多选框的text属性,然后Toast出

    2022年7月18日
    15
  • WebSocket快速上手

    WebSocket快速上手文章目录WebSocket快速上手1.WebSocket是什么?1.1.WebSocket连接过程1.2.WebSocket与HTTP对比1.3.WebSocket协议2.快速上手2.1服务端2.2客户端2.2.1浏览器客户端2.2.2Java客户端WebSocket快速上手1.WebSocket是什么?WebSocket建立在TCP协议之上,并且与HTTP协议有着良好的…

    2022年7月27日
    3
  • ADRC自抗扰控制自学笔记(包含simulink仿真)(转载)

    ADRC自抗扰控制自学笔记(包含simulink仿真)(转载)摘自:https://blog.csdn.net/zouxu634866/article/details/106287879#comments_12978720ADRC自抗扰控制自学笔记(包含simulink仿真)总被蚊子叮的小旭2020-05-2217:59:361856收藏28分类专栏:控制版权ADRC控制中包含三个主要的部分:跟踪微分器,非线性状态反馈(非线性组合),扩张观测器。ADRC特点:继承了经典PID控制器的精华,对被控对…

    2022年5月19日
    79
  • iPhone屏幕尺寸(包含7p)

    iPhone屏幕尺寸(包含7p)转自:http://blog.csdn.net/jeikerxiao/article/details/52768269px与pt区别字体大小的设置单位,常用的有2种:px、pt。这两个有什么区别呢?先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点;pt就是point,是印刷行业常用单位,等于1/72英寸。px全称为p

    2022年5月15日
    44
  • icem合并面网格_ICEM CFD混合网格

    icem合并面网格_ICEM CFD混合网格ICEMCFD中合并多个网格对于结构十分复杂的几何模型,若能够将几何体分割成多个部分由多人分别进行网格划分,生成网格后能够对网格进行组装,这恐怕是很多人梦寐以求的功能了。其实很多前处理软件都具有此功能。今天要说的是如何在ICEMCFD中实现此功能。为了简单起见,这里用一个非常简单的模型进行演示。当然复杂的模型的处理方式也是相同的。我们要处理的几何模型如图1所示。一个L型整体块被切割成3份。分别…

    2022年5月24日
    111

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号