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


相关推荐

  • chm 已取消到该网页的导航,打不开!

    chm 已取消到该网页的导航,打不开!

    2022年2月5日
    47
  • 二进制和十进制的转换机制是什么?_转化成二进制

    二进制和十进制的转换机制是什么?_转化成二进制一、十进制转换成二进制1.1正整数转二进制要点:除二取余,倒序排列,高位补零。方法:将正的十进制数除以二,得到的商再除以二,依次类推直至商为0或1时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零。注:计算机内部表示数的字节单位是定长的,如8位,16位,或32位。所以,位数不够时,高位补零。1.2负整数转二进制方法:先将对应的正整数转换成二进制后,对二进制取…

    2022年10月18日
    0
  • JS通过window location href下载文件「建议收藏」

    JS通过window location href下载文件「建议收藏」最近在写文件下载,发现前端实现下载功能是依赖于浏览器特性,而非JS特性。前端实现文件下载主要分为以下情况1、在页面直接点击某个元素,然后另存为,弹出下载提示框2、直接输入网址,确定,弹出下载提示框3、点击页面的块触发下载时间,弹出下载提示框4、点击下载按钮,实现文件下载html代码 <div> <spanng-click=”downloadFile(url…

    2022年7月12日
    511
  • 烫烫烫锟斤拷是什么_卡锟

    烫烫烫锟斤拷是什么_卡锟手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘解释一下为什么会是这两个东西不是别的==:棍斤拷乱码:源于GBK字符集和Unicode字符集之间的转换问题。Unicode和老编码

    2022年8月3日
    5
  • 替换指定字符串中,键对应的键值

    替换指定字符串中,键对应的键值

    2021年11月4日
    44
  • spark flatmap

    spark flatmapflatMap算子,在java中,接收的参数是FlatMapFunction,我们需要自己定义FlatMapFunction的第二个泛型类型,即,代表了返回的新元素的类型      call()方法,返回的类型,不是U,而是Iterable,这里的U也与第二个泛型类型相同      flatMap其实就是,接收原始RDD中的每个元素,并进行各种逻辑的计算和处理,返回可以返回多个元素

    2022年5月4日
    33

发表回复

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

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