持续创造,加速成长!这是我参与「日新方案 10 月更文挑战」的第3天,点击检查活动详情

1 visdom

1.1 vidsom介绍

  • visdom的github主页:github.com/fossasia/vi…
  • visdom中文文档参阅:ptorch.com/news/77.htm…

Visdom是一个灵活的工具,用于创立安排同享实时丰富数据可视化,支撑:

  • Torch
  • Numpy

Visdom的方针是促进(远程)数据的可视化,重点是支撑科学试验。为你自己和你的合作者广播制作:视频图画文本等的可视化。

深度学习可视化工具visdom使用

经过编程或经过UI安排可视化空间,为实时数据创立仪表板,检查试验结果,或调试试验代码。

深度学习可视化工具visdom使用

2 visdom中的一些概念

Visdom有一套简略的功用,能够组成不同的案例

2.1 窗口(Windows)

1、翻开visdom的UI窗口

python -m visom.server

用上面的翻开一个visdom服务,然后把回来的链接http://localhost:8097http://127.0.0.1:8097 在浏览器中翻开即可看到一个空白的visdom UI面板!

2、然后你能够在这个空白的白板上:

  • 绘图
  • 可视化图画
  • 可视化文本
    深度学习可视化工具visdom使用

3、一起你能够拖放调整巨细销毁这些窗口。窗口存在于environments中并且environments的状况经过sessions存储。你能够下载窗口中的内容 – 包括SVG中的图。

留意:

你能够经过浏览器的缩放比例来调整UI的比例

2.2 回调(callbacks)

python Visdom支撑实现窗口上的回调。Demo以可编辑文本板的方式显现。这些回调函数答应Visdom目标接收并响应前端发生的事情

你能够经过向事情处理程序代码添加一个函数来为事情订阅窗口,该函数用于经过调用viz.register_event_handler(handler, win_id)处理程序和窗口标识调用要订阅的窗口标识。多个处理程序能够注册到同一个窗口。你能够运用viz.clear_event_handlers(win_id)删去窗口中的一切事情处理程序。当在窗口发生一个事情时,你的回调将在包括以下内容字典上被调用:

event_type:以下事情类型之一

  • pane_data:该窗口的一切存储内容包括布局和内容。
  • eid:当时的环境ID
  • target:调用事情的窗口ID

下面界说了其他参数。现在支撑以下回调事情:

  • 1)Close封闭窗口时触发。回来只需前述字段的字典。
  • 2)KeyPress按下某个键时触发。包括其他参数:
    • key-按下的键的字符串`表明方式(运用SHIFT等状况修饰符)
    • key_code按下键的javascript事情键码(无修饰符)
  • 3)PropertyUpdate-在“特点”窗格中更新特点时触发
    • propertyId– 特点列表中的方位
    • value– 新的特点值
  • 4)Click-当单击图画窗格时触发,具有一个参数:
    • image_coord– 在或许缩放/平移的图画(不是封闭的窗格)的坐标框架中,运用字段x和y表明单击坐标的字典。

2.3 环境Environments

深度学习可视化工具visdom使用

你能够运用envs区分你的可视化空间。默许情况下,每个用户将有一个env调用main。新的envs能够在用户界面或以编程方式创立。envs的状况是长期保存的

你能够经过URL访问特定的ENVhttp://localhost.com:8097/env/main。假如你的服务器托管在网上,直接分享你的网址那样其他人也能够看到你的可视化

2.3.1 挑选环境(Selecting Environments)

从主页面能够运用环境挑选器不同的环境之间切换。挑选新环境将向服务器查询该环境中存在的图

深度学习可视化工具visdom使用

2.3.2 比较环境(Comparing Environments)

主页面上,能够运用环境挑选器比较不同的环境。在复选框中挑选多个环境将查询服务器在一切环境中具有相同标题的地块,并将它们制作到单个地块中。将创立一个附加的比较图例窗格,其间包括与每个所选环境对应的数字。运用对应于“x_name”的图例更新各个plot,其间x是一个数字,对应于比较图例窗格,而name是图例中的原始称号

2.3.3 清除环境(Clearing Environments)

你能够运用橡皮擦按钮删去环境中当时的一切内容。这将封闭该环境的制作plot窗口,并且保存空白的为新的制作窗口。

2.3.4 办理环境(Managing Environments)

1、按下文件夹图标将翻开一个对话框,答应仿制强制保存当时环境,或删去当时环境的一切

深度学习可视化工具visdom使用

2、Env Files: 你的envs在服务器初始化时加载,默许情况下为$HOME/.visdom/。自界说途径能够作为cmd行参数传递。经过运用删去按钮或从环境中删去相应的.json文件来删去Envs。

2.4 状况(State)

1、当你创立了几个可视化后,状况坚持不变。服务器自动缓存你的可视化 —— 假如你从头加载页面可视化就会再现

深度学习可视化工具visdom使用

  • Save:你能够运用save按钮手动执保存。这将序列化env的状况(以JSON方式保存到磁盘),包括窗口方位。你能够以env编程方式保存。 这有助于更为复杂的装备有意义的可视化,例如数据丰富的演示、模型练习仪表板或系统试验。这也使得它们易于同享和重用。

  • Fork:假如你输入一个新的env姓名,保存将会创立一个新的env – 有效地切割以前的env。

2.5 过滤(Filter

1、你能够运用filter动态挑选env中的窗口 – 只需供给一个正则表达式来匹配您要显现的窗口的标题。这能够有助于触及env与许多窗口的运用情况,例如系统地检查试验结果

深度学习可视化工具visdom使用

留意:

假如您保存了当时视图,则清除过滤器后视图将被恢复。

深度学习可视化工具visdom使用

2.6 视图(Views)

经过简略地拖动窗口的顶部来办理视图是或许的,可是还存在一些额外的功用来坚持视图的安排和保存公共视图。视图办理对于保存和在多个窗口安排之间切换十分有用。

深度学习可视化工具visdom使用

2.6.1 保存和删去视图(Saving / Deleting Views)

运用文件夹图标,将翻开一个对话框窗口,其间视图能够以相同的方式分叉。 保存视图将保存给定环境中一切窗口的方位和巨细。 在视图将会保存到visdom的$ Home / .Visdom / View / Layouts.json途径中!

留意:

已保存的视图是静态的(static)

2.6.2 从头包装(Re-Packing)

运用从头包装图标(9个小方格的图标),visdom将尝试以一种最适合的方式打包你的窗口,一起坚持行/列顺序

留意:

由于对行/列排序ReactGridLayout的依靠,最终的布局或许与预期略有不同。咱们正在努力改善这种体会,或许供给更多可微调操控的替代方案。

2.6.3 从头加载视图(Reloading Views)

从头加载视图,动态图片(CSDN最大只能上传5MB,传不上去)

运用视图下拉列表能够挑选从前保存的视图,将当时环境中一切窗口的一切窗口的方位和巨细恢复到最终一个视图保存的地方!

3 装置visdom

visdom要求python3的环境,装置比较简略直接用pip装置即可:

pip install visdom

4 visdom运用

4.1 发动visdom的服务

1、确保你已经装置了visdom,然后需求翻开一个visdom的服务,在指令行下输入:

visdom

python -m visdom.server

深度学习可视化工具visdom使用

2、然后在浏览器中翻开回来的链接:http://loaclhost:8097

4.2 visdom的指令行参数选项

1、能够在指令上中运用visdom -h检查visdom指令行参数选项

(yolov5) shl@zhihui-mint:~/shl_res$ visdom -h
Checking for scripts.
usage: visdom [-h] [-port port] [--hostname hostname] [-base_url base_url] [-env_path env_path] [-logging_level logger_level] [-readonly] [-enable_login] [-force_new_cookie] [-use_frontend_client_polling]
Start the visdom server.
optional arguments:
  -h, --help            show this help message and exit
  -port port            port to run the server on.
  --hostname hostname   host to run the server on.
  -base_url base_url    base url for server (default = /).
  -env_path env_path    path to serialized session to reload.
  -logging_level logger_level
                        logging level (default = INFO). Can take logging level name or int (example: 20)
  -readonly             start in readonly mode
  -enable_login         start the server with authentication
  -force_new_cookie     start the server with the new cookie, available when -enable_login provided
  -use_frontend_client_polling
                        Have the frontend communicate via polling rather than over websockets.
(yolov5) shl@zhihui-mint:~/shl_res$ 

2、具体参数如下:

  • port:指定运转服务器的端口
  • hostname:运转服务器的主机名
  • base_url:根底服务器的url(default=/)
  • env_path:要从头加载的序列化会话的途径
  • logging_level:日志等级(默许=INFO)。承受规范文本和数字记录值
  • readonly:以只读形式发动服务器的标志
  • enable_login:符号为服务器设置身份验证,需求用户名和暗码才干登录
  • force_new_cookie:标志重置服务器运用的安全cookie,使当时登录cookie失效。需求启用登录

当供给-enable_login flag时,服务器要求用户运用终端提示输入凭证。或许,你能够设置VISDOM_USE_ENV_CREDENTIALS env变量,然后经过VISDOM_USERNAMEVISDOM_PASSWORD env变量供给你的用户名暗码,而无需手动与终端交互。假如你想从bash脚本jupiter notebook发动visdom服务器,此设置十分有用。

VISDOM_USERNAME=username
VISDOM_PASSWORD=password
VISDOM_USE_ENV_CREDENTIALS=1 visdom -enable_login

假如没有生成cookie文件,或许设置了-force_new_cookie标志,也能够运用VISDOM_COOKIE变量来供给cookie值。

4.3 python Visdom运用例子

4.3.1 在visdom中显现文本和图片

1、创立一个test_demo.py

import visdom
import numpy as np
vis = visdom.Visdom()
vis.text('Hello, world!')
vis.image(np.ones((3, 10, 10)))

深度学习可视化工具visdom使用

5 Visdom中的API运用

有关快速入门的功用visdom,请检查example目录,或阅读下面的详细信息。

5.1 Visdom arguments(Python only)

python visdom客户端的一些选项:

  • server:你的visdom服务器的hostname(默许为:http:localhost
  • port:你的visdom服务器的端口port(默许为:8097
  • base_url: the base visdom server url (default: /)
  • env:当没有供给env时制作到的默许环境(默许为:main
  • raise_exceptions:在失败时引发反常而不是打印它们(默许值为True
  • log_to_filename:假如不是none,将一切绘图和更新事情记录到给定的文件(追加形式),以便今后能够运用replay_log(默许:none)重放它们。
  • use_incoming_socket:启用从web客户端接收事情的套接字,答运用户注册回调(默许为值为True
  • http_proxy_host:弃用。运用署理参数来完结署理支撑。
  • http_proxy_port:弃用。运用署理参数来完结署理支撑。
  • usename:假如服务器以-enable_login发动,用于身份验证的用户名(默许为None
  • passward:假如服务器以-enable_login发动,用于身份验证的暗码(默许为None
  • proxies:字典映射协议到署理的URL(例如{http: foo.bar:3128}),用于每个恳求。(默许值为None)
  • offline:标志以脱机形式运转visdom,在这种形式下,一切恳求都被记录到文件中,而不是记录到服务器。需求设置log_to_filename。在脱机形式下,不创立或更新绘图的一切visdom指令都将回来true。(默许值为False)

5.2 根底(Basics)API

Visdom提取以下根本的可视化功用

  • vis.image:图片
  • vis.images:图片列表
  • vis.text:恣意的HTML
  • vis.properties:特点网格
  • vis.audio:音频
  • vis.video:视频
  • vis.svg:SVG目标
  • vis.matplot:matplotlib图制作
  • vis.save:序列化状况服务器端

5.3 制作(Plotting)

咱们已经封装了几种常见的绘图类型,以便轻松创立根本可视化。这些可视化由Plotly供给支撑。

现在支撑一下API:

  • vis.scatter:2D或3D散点图
  • vis.line:线图
  • vis.stem:stem图
  • vis.heatmap:热图地块
  • vis.bar:条形图
  • vis.histogram直方图
  • vis.boxplot:盒子
  • vis.surf:外表重复
  • vis.contour:等高线图
  • vis.quiver:颤抖的情节
  • vis.mesh:网格图
  • vis.dual_axis_lines:双y轴线图

5.4 一般绘图(Generic Plots)

请留意,服务器API恪守Plotly约定datalayout目标,以便你能够生成自己的恣意Plotly可视化目标

import visdom
vis = visdom.Visdom()
trace = dict(x=[1, 2, 3], y=[4, 5, 6], mode="markers+lines", type='custom',
             marker={'color': 'red', 'symbol': 104, 'size': "10"},
             text=["one", "two", "three"], name='1st Trace')
layout = dict(title="First Plot", xaxis={'title': 'x1'}, yaxis={'title': 'x2'})
vis._send({'data': [trace], 'layout': layout, 'win': 'mywin'})

5.5 其他(Others)

  • vis.close: 经过ID封闭一个窗口
  • vis.delete_env:经过env_id删去一个环境(environments)
  • vis.win_exists:经过id检查一个窗口是否已经存在
  • vis.get_env_list:获取服务器上一切环境的列表
  • vis.win_hash:获取窗口内容的md5 hash
  • vis.get_window_data:获取窗口的当时数据
  • vis.check_connection:检查服务器是否衔接
  • vis.replay_log:回放供给的日志文件中的操作

5.6 visdom绘图API中的一些细节(Details)

下面来详细阐明一下visdom中供给的绘图API的运用:

深度学习可视化工具visdom使用

5.6.1 vis.image

1、vis.image

制作一个img。它将包括图画CxHxW的张量(tensor)作为输入

2、vis.image的参数:

  • jpgquality:JPG图画的质量(取值规模:0-100),假如界说了,则用于保存JPG图画文件的巨细,假如没有界说,则保存为PNG
  • caption:图画的阐明(caption)
  • store_history:坚持一切图画存储到同一个窗口,并在底部附加一个滑块,让你挑选要检查的图画。当你将新图画发送到具有历史记录的图画时,有必要一直供给此选项。

5.6.2 vis.images

1、vis.images

这个函数制作一个图画列表。它取一个输入B x C x H x W张量或许一个相同巨细的list of images。它创立一个巨细为(B / nrow, nrow)的图画网格

2、vis.images的参数:

  • nrow:图画的行数
  • padding:在图画周围填充,四边均匀填充
  • opt.jpgquality:JPG图画的质量(取值规模:0-100),假如界说了,则用于保存JPG图画文件的巨细,假如没有界说,则保存为PNG
  • caption:图画的阐明(caption)

5.6.3 vis.text

1、vis.text

这个函数在一个框中打印文本。你能够运用它来嵌入恣意HTML。它将文本字符串作为输入。当时不支撑特定的选项。

2、vis.text

当时没有特定的参数选项

5.6.4 vis.properties

1、vis.properties

这个函数在窗格中显现可编辑的特点。特点应该是一个字典列表,例如:

    properties = [
        {'type': 'text', 'name': 'Text input', 'value': 'initial'},
        {'type': 'number', 'name': 'Number input', 'value': '12'},
        {'type': 'button', 'name': 'Button', 'value': 'Start'},
        {'type': 'checkbox', 'name': 'Checkbox', 'value': True},
        {'type': 'select', 'name': 'Select', 'value': 1, 'values': ['Red', 'Green', 'Blue']},
    ]

2、支撑的类型

  • text:字符串
  • number:十进制的数
  • button:button labeled with “value”
  • checkbox:布尔值呈现为复选框
  • select:多个值挑选框
    • value:选定值的Id(从零开始) -values:或许值的列表

3、在特点值更新时调用回调

  • event_typePropertyUpdate
  • propertyId:特点列表中的方位
  • value:新的值

4、vis.properties的参数

当时没有特定的参数选项

5.6.5 vis.audio

1、vis.audio

这个功用播映音频。它将音频文件的文件名或包括波形的N张量(立体声音频运用Nx2矩阵)作为输入。该函数不支撑任何特定于绘图的选项

2、支撑以=下选项:

  • opts.sample_frequency采样频率(整型> 0,默许= 44100)

已知问题:Visdom运用scipy将张量输入转换为波文件。一些版别的Chrome浏览器不能播映这些wave文件(Firefox和Safari能够)。

5.6.6 vis.video

1、vis.video

播映视频。它将视频视频文件的文件名或包括一切视频帧LxCxHxW巨细的张量作为输入。该函数不支撑任何特定于绘图的选项

2、支撑以=下选项:

  • opts.fps:视频的帧率fps(整型>0,默许=25)

留意:

运用张量输入需求装置ffmpeg并作业。你播映视频的能力或许取决于你运用的浏览器:你的浏览器有必要支撑Theano编解码器在OGG容器(Chrome支撑这个)。

5.6.7 vis.svg

1、vis.svg

这个函数制作一个SVG目标。它承受SVG字符串svgstr或SVG文件的称号svgfile作为输入。该函数不支撑任何特定的选项。

5.6.8 vis.matplot

1、vis.matplot

这个函数制作一个Matplotlib图。该函数支撑一个特定于绘图的选项:resizable

2、留意:

  • 当设置为True时,绘图将跟着窗格调整巨细。需求装置beautifulsoup4和lxml包才干运用该选项

  • matplot不运用与plotly plot相同的后端来呈现,并且效率较低。运用太多的matplot窗口或许会下降visdom功用。

5.6.9 vis.plotlyplot

1、vis.plotlyplot

这个函数制作一个Plotly Figure目标。它不会显式地承受选项,由于它假定你已经显式地装备了图形的布局。

2、留意:

要运用这个函数,有必要装置plotly Python包。它通常能够经过运转pip install plotly来装置。

2.6.10 vis.embeddings

1、vis.embeddings

该函数运用Barnes-Hut t-SNE算法可视化一组特征。

2、vis.embeddings的参数

  • features:一个tensors的列表
  • labels:为features供给的张量的对应标签列表
  • data_getter_fn:(可选)一个函数,它承受feature数组的索引作为参数,并回来张量的汇总表明。假如设置了这个值,那么也有必要设置data_type。
  • data_type=str:可选)现在这儿唯一可承受的值是“HTML”

咱们现在假设有不超过10个独特的标签,在未来咱们期望供给一个色彩地图Colormap在挑选其他情况下。

在UI中,你也能够在功用的子集周围画一个套索。这将在选定的子集上从头运转t-SNE可视化。

2.6.11 vis.save

1、vis.save

保存visdom服务器上存活的envs。它需求输入一个要保存的env id列表。

5.7 绘图(Plotting)

关于包装的绘图函数的进一步细节如下所示。

绘图函数输入各不相同,尽管它们中的大多数将包括数据的张量X和包括可选数据变量(如标签或时刻戳)的张量Y作为输入。一切的绘图功用都能够作为一个可选项win,用来制作到一个特定的窗口;每个绘图函数也回来win它制作的窗口。还能够指定env 可视化应该添加到的窗口。

5.7.1 vis.scatter

1、vis.scatter

此功用制作2D或3D散点图。它需求输入一个Nx2或 一个Nx3张量X来指定N散点图中点的方位。一个可选的N张量,Y其间包括离散的标签,规模介于1和K能够指定 – 标签将反映在符号的色彩

2、vis.scatter的参数

  • opts.markersymbol:符号符号(字符串类型,默许='dot'
  • opts.markersize:符号的巨细(数字,默许=‘10’
  • opts.markercolor:每个符号的色彩(torch.*Tensor; default = nil)
  • opts.markerborderwidth:符号边界的弦宽(浮点类型,默许=0.5
  • opts.legend:包括图例称号的表
  • opts.textlabels:每个点的文本标签(列表:默许值=None)
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}
  • opts.traceopts:将盯梢称号或索引映射到图后端承受的附加选项的字典。例如:traceopts = {'plotly': {'myTrace': {'mode': 'markers'}}}
  • opts.webgl:运用webgl进行绘图(布尔,默许= false)。 假如绘图包括太多点,则更快。 谨慎运用,由于浏览器不会在单个页面上答应多个WebGL上下文

opt.markercolor是一个具有整数值的张量。张量的巨细能够是NNx3``或KKx3`

  • 张量巨细为N:每个数据点的单一强度值。0 =black,255 =red
  • 张量巨细为Nx3:每个数据点的红色,绿色和蓝色强度。 0,0,0 =black,255,255,255 =white
  • 张量巨细为K 和 Kx3:不是为每个数据点运用唯一的色彩,而是为特定标签的一切点同享相同的色彩。

5.7.2 vis.line

1、vis.line

这个函数制作一个线形图。它将NNxM张量Y作为输入,指定衔接N个点的M条线的值。它还承受一个可选的X张量,指定相应的X轴值;X能够是一个N张量(在这种情况下,一切的直线将同享相同的X轴值)或具有与Y相同的巨细。

2、vis.line的参数

  • opts.fillarea:填充线下面的区域(布尔值)
  • opts.markers:显现符号(布尔;默许= false)
  • opts.markersymbol:符号符号(字符串类型,默许='dot'
  • opts.makersize:符号的巨细(数字,默许=‘10’
  • opts.linecolor:线的色彩(np.array,默许=None
  • opts.dash:每一行的行dash类型(np.array;默许= ‘solid’),其间一个实线,虚线,虚线或虚线,巨细应与所制作的线的数量相匹配
  • opts.legend:包括图例称号的表
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}
  • opts.traceopts:将盯梢称号或索引映射到图后端承受的附加选项的字典。例如:traceopts = {'plotly': {'myTrace': {'mode': 'markers'}}}
  • opts.webgl:运用webgl进行绘图(布尔,默许= false)。 假如绘图包括太多点,则更快。 谨慎运用,由于浏览器不会在单个页面上答应多个WebGL上下文。

5.7.3 vis.stem

1、vis.stem

这个函数制作一个干图。它需求输入一个N或NxM张量 X来指定时刻序列中的N点的值M。包括时刻戳的可选N或NxM张量Y也能够被指定; 假如Y是N张量,则M假定一切时刻序列具有相同的时刻戳。

2、vis.stem的参数

  • opts.colormap():colormap(字符串类型,默许='Viridis'
  • opts.legend:包括图例称号的表
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.4 vis.heatmap

1、 vis.heatmap

这个函数制作一个热图。它需求输入NxM张量X来指定热图中每个方位的值。

2、 vis.heatmap的参数

  • opts.colormap():colormap(字符串类型,默许='Viridis'
  • opts.xmin:裁剪最小值(数字;默许值= x:min())
  • opts.xmax:裁剪最小值(数字;默许值= x:min())
  • opts.columnnames:包括x轴标签的表格
  • opts.rosnames:包括y轴标签的表格
  • opts.legend:包括图例称号的表
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}
  • opts.nancolor:制作nan的色彩。假如这是None, nan将被制作为透明的。(字符串;默许=None)

5.7.5 vis.bar

1、vis.bar

这个函数制作一个规则的,堆积的或分组的条形图。它需求输入一个N或NxM张量X来指定每个条的高度。假如X包括M列,则对应于每行的值将被堆叠或分组(取决于如何opts.stacked设置)。除此之外X,还能够指定一个(可选的)N张量Y,其间包括相应的x轴值。

2、vis.bar的参数

  • opts.rownames:包括x轴标签的表格
  • opts.stacked:在X中堆叠多个列
  • opts.legend:包括图例称号的表
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.6 vis.histogram

1、vis.histogram

该功用制作指定数据的直方图。它需求输入一个N张量X来指定构建直方图的数据。

2、vis.histogram的参数

  • opts.numbins:bins的数量 (number ,默许= 30)
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.7 vis.boxplot

1、 vis.boxplot

此函数制作指定数据的箱形图。它需求输入一个N或一个NxM张量X来指定N结构M箱形图的数据值。

2、 vis.boxplot的参数

  • opts.legend:包括图例称号的表
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.8 vis.surf

1、vis.surf

这个函数制作一个曲面图。它需求输入NxM张量X 来指定曲面图中每个方位的值。

2、vis.surf的参数

  • opts.colormap():colormap(字符串类型,默许='Viridis'
  • opts.xmin:裁剪最小值(数字;默许值= x:min())
  • opts.xmax:裁剪最小值(数字;默许值= x:min())
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.9 vis.contour

1、vis.contour

这个函数制作一个等高线图。它需求输入一个NxM张量X 来指定概括图中每个方位的值。

2、vis.contour的参数

  • opts.colormap():colormap(字符串类型,默许='Viridis'
  • opts.xmin:裁剪最小值(数字;默许值= x:min())
  • opts.xmax:裁剪最小值(数字;默许值= x:min())
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.10 vis.quiver

1、vis.quiver

该功用制作箭叠图,其间箭头的方向和长度由NXM张量X和Y确定。能够供给两个可选的NXM张力gridX和gridY,以指定箭头的偏移; 默许情况下,箭头将在惯例网格上完结。

2、vis.quiver的参数

  • opts.normalize:最长箭头的长度(number)
  • opts.arrowheads:显现箭头头(Boolean;默许= True)
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =`layoutopts = {‘plotly’: {‘legend’: {‘x’:0, ‘y’:0}}}“:

5.7.11 vis.mesh

1、vis.mesh

这个函数从Nx2或Nx3矩阵X中界说的一组顶点以及可选的Mx2或Mx3矩阵Y中界说的多边形制作网格图

2、vis.mesh的参数

  • opts.color:色彩(字符串)
  • opts.opacity:多边形的不透明度(数值介于0和1之间)
  • opts.layoutopts:图后端为布局承受的任何其他选项的字典。例如layoutopts =layoutopts = {'plotly': {'legend': {'x':0, 'y':0}}}

5.7.12 vis.dual_axis_lines

1、vis.dual_axis_lines

这个函数将运用带有不同y轴的plotly创立一个直线图。

  • X = 一个numpy array类型的数组

  • Y1 =与X计数相同的numpy array数组。

  • Y2 =与X计数相同的numpy array数组。

2、vis.dual_axis_lines的参数

  • opts.height:制作图的高
  • opts.width:制作图的宽
  • opts.name_y1:Axis name for Y1 plot
  • opts.name_y2:Axis name for Y2 plot
  • opts.title:制作图的标题title
  • opts.color_title_y1:Color of the Y1 axis Title
  • opts.color_tick_y1:Color of the Y1 axis Ticks
  • opts.color_title_y2: Color of the Y2 axis Title
  • opts.color_tick_y2:Color of the Y2 axis Ticks
  • opts.side:需求放置Y2刻度的那一面。值为’right’或’ left ‘。
  • opts.showlegend:显现图例(布尔值)
  • opts.top:设置绘图的顶部边际
  • opts.bottom:设置绘图的底部边际
  • opts.right:设置绘图的右边边际
  • opts.left:设置绘图的左面边际

下面是一个输出image:

深度学习可视化工具visdom使用

5.8 自界说绘图(Customizing plots)

1、Customizing plots

绘图函数采用可选的选项表作为输入,可用于更改图形的(特定于通用或绘图特定)特点。 一切输入参数都在单个表中指定; 输入参数基于它们在输入表中具有的键匹配。

以下选项是通用的,由于它们对一切可视化相同(plot.image,plot.text,plot.video和plot.audio):

2、Customizing plots的以下参数是通用的

  • opts.title :图标题
  • opts.width :图宽度
  • opts.height :身高
  • opts.showlegend :显现图例(true或false)
  • opts.xtype :x轴的类型(’linear’或’log’)
  • opts.xlabel :x轴的标签
  • opts.xtick :在x轴上显现刻度(boolean)
  • opts.xtickmin :先在x轴上打勾(number)
  • opts.xtickmax :在x轴上的最终一个勾号(number)
  • opts.xtickvals :在x轴(蜱方位table的number多个)
  • opts.xticklabels:蜱上x轴(标签table的string多个)
  • opts.xtickstep :x轴上的滴答声之间的距离(number)
  • opts.ytype :y轴的类型(’linear’或’log’)
  • opts.ylabel :y轴的标签
  • opts.ytick :在y轴上显现刻度(boolean)
  • opts.ytickmin :首先在y轴上打勾(number)
  • opts.ytickmax :最终在y轴上打勾(number)
  • opts.ytickvals :在y轴的刻度方位(table的number多个)
  • opts.yticklabels:蜱上y轴标签(table的string多个)
  • opts.ytickstep :Y轴上的刻度之间的距离(number)
  • opts.marginleft :左面距(以像素为单位)
  • opts.marginright :右边距(以像素为单位)
  • opts.margintop :顶部边距(以像素为单位)
  • opts.marginbottom:底部边距(以像素为单位)