在python“with”语句中使用visdom的包装器。

visdom-wrapper的Python项目详细描述


visdom包装器

在python“with”语句中使用visdom的包装器。

设置

pip3 install visdom-wrapper

示例

import numpy as np
import time
import os.path
import getpass
from sys import platform as _platform
from six.moves import urllib

from visdom_wrapper import VizWrapper
from visdom import  Visdom

# Images
for i in range(5):
    var = np.random.randn(20, 3, 64, 64)
    with VizWrapper("random_images") as viz_wrapper:
        viz_wrapper.update_wins(
            viz_wrapper.viz.images(var,
                                   opts=dict(title=viz_wrapper.name),
                                   win=viz_wrapper.win)) # Indispensable
    time.sleep(1)

# Change server port
VizWrapper.viz = Visdom(port=8098, server="http://localhost")

for i in range(5):
    var = np.random.randn(10, 3, 64, 64)
    with VizWrapper("random_images_1") as viz_wrapper:
        viz_wrapper.update_wins(
            viz_wrapper.viz.images(var,
                                   opts=dict(title=viz_wrapper.name),
                                   win=viz_wrapper.win)) # Indispensable
    time.sleep(1)

# Histogram
for i in range(5):
    var = np.random.rand(10000)
    with VizWrapper("histogram") as viz_wrapper:
        viz_wrapper.update_wins(
            viz_wrapper.viz.histogram(X=var,
                                      opts=dict(numbins=20),
                                      win=viz_wrapper.win)) # Indispensable
    time.sleep(1)

# Line updates
X = np.column_stack((np.arange(0, 10), np.arange(0, 10)))
Y = np.column_stack((np.linspace(5, 10, 10), np.linspace(5, 10, 10) + 5))
with VizWrapper("line") as viz_wrapper:
    viz_wrapper.update_wins(
        viz_wrapper.viz.line(X=X,
                             Y=Y,
                             win=viz_wrapper.win)) # Indispensable
time.sleep(2)
X = np.column_stack((np.arange(10, 20), np.arange(10, 20)))
Y = np.column_stack((np.linspace(5, 10, 10), np.linspace(5, 10, 10) + 5))
with VizWrapper("line") as viz_wrapper:
    viz_wrapper.update_wins(
        viz_wrapper.viz.line(X=X,
                             Y=Y,
                             win=viz_wrapper.win, # Indispensable
                             update='append'))

# Video
video = np.empty([256, 250, 250, 3], dtype=np.uint8)
for n in range(256):
    video[n, :, :, :].fill(n)
with VizWrapper("vedio") as viz_wrapper:
    viz_wrapper.update_wins(
        viz_wrapper.viz.video(tensor=video,
                              win=viz_wrapper.win)) # Indispensable


video_url = 'http://media.w3.org/2010/05/sintel/trailer.ogv'
# linux
if _platform == "linux" or _platform == "linux2":
    videofile = '/home/%s/trailer.ogv' % getpass.getuser()
# MAC OS X
elif _platform == "darwin":
    videofile = '/Users/%s/trailer.ogv' % getpass.getuser()
# download video
urllib.request.urlretrieve(video_url, videofile)

if os.path.isfile(videofile):
    with VizWrapper("vedio_1") as viz_wrapper:
        viz_wrapper.update_wins(
            viz_wrapper.viz.video(videofile=videofile,
                                  win=viz_wrapper.win)) # Indispensable

使用visdom包装器,可以更方便地使用visdom。

  1. 您不必显式地创建visdom对象。
  2. 您不必显式管理visdom窗口。用 相同的名称将隐式更新到同一visdom窗口。
  3. 所有visdomapi仍然可用,您仍然可以在 灵活的方式。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Kotlin应该为Java类中的合成属性进行反射   hadoop。pig脚本与java嵌入式pig:哪一个最快?   java要求用户在不关闭程序的情况下输入一个double而不是字符串   Raspberry PI和windows pc代码之间的java差异   使用maven的基于java Spring引导概要文件的WAR   Java中的内联数组定义   jsf如何在Tomcat上安装和使用CDI?   当数据来自mySQL时,在java的微调器中删除重复项   java如何定制Android ListView的每一行?   对于web应用程序,为什么java也被称为平台无关?   java如何获得排序hashmap中两个给定键之间的所有键值?   帮我把这个Java翻译成Scheme,让我脑子里的东西运转起来   java共享子域cookie   hibernate多Java列表删除   java队列可以用来交换链表的相邻节点吗?   java遇到错误:当我在安卓应用程序中单击主屏幕快捷方式时,找不到应用程序