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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 泛型擦除是什么意思_泛型类和泛型方法的区别

    泛型擦除是什么意思_泛型类和泛型方法的区别在严格的泛型代码里,带泛型声明的类总应该带着类型参数。但为了与老的Java代码保持一致,也允许在使用带泛型声明的类时不指定实际的类型。如果没有为这个泛型类指定实际的类型,此时被称作rawtype(原始类型),默认是声明该泛型形参时指定的第一个上限类型。当把一个具有泛型信息的对象赋给另一个没有泛型信息的变量时,所有在尖括号之间的类型信息都将被扔掉。比如一个List类型被转换为List,则该List对集合元素的类型检查变成了泛型参数的上限(即Object)。上述规则即为泛型擦除,可以通过下面代码进一步

    2022年8月30日
  • java cap理论_架构思想之CAP原理

    java cap理论_架构思想之CAP原理由于自己负责后端的设计已经有一段时间,对设计的一些思想和理论有一些理解,但最近被问到什么是CAP时,却一脸懵逼,下来后专门针对CAP架构思想进行了一些专题学习,在这里也将这个概念引入给大家,大家可以有意识地了解和学习这个思想理念,帮助自己在后续设计功能时有更好的参考。分布式领域CAP理论,Consistency(一致性),数据一致更新,所有数据变动都是同步的Availability(可用性),…

    2022年5月19日
  • python重复执行10次_卡bug

    python重复执行10次_卡bugpy3Fdfs修复几个bugpy3Fdfs2.2.0TypeError:typeobjectargumentafter**mustbeamapping,notstrdownload_to_file(local_filename,remote_file_id),提示mustbebytes[],notstrPython3struct格式化下载30k文件出现sock…

    2022年10月21日
  • hashmap和hashtable的区别,说法错误的是_javamap的用法

    hashmap和hashtable的区别,说法错误的是_javamap的用法HashMap和Hashtable的区别一、HashMap简介HashMap是在JDK1.2中引入的Map的实现类。1.HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。2.HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurren…

    2022年9月18日
  • Latex中插入多张图片,实现并排排列或者多行多列排列

    Latex中插入多张图片,实现并排排列或者多行多列排列最近需要用latex插入多张图片,达到这么一个效果。但是我原来只插入过一张图片(图片内容来源于网络;是国漫一人之下的宝儿姐。强推这部国漫~),代码如下,效果如图:\begin{figure}\centering\includegraphics[height=4.5cm,width=9.5cm]{111.eps}\caption{pic1}\label{2}\end{figu…

    2022年5月1日
  • C++ – 实现strstr函数

    C++ – 实现strstr函数分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net/**CreatedbyChimomo**函数名:strStr*功能:找出字符串str2在字符串str1中第一次出现的位置(不包括str2的串结束符)。*返回值:若找到,返回指向该位置的指针;否则,返回空指针。…

    2022年6月25日

发表回复

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

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