fb官方的一些demo

一.  show something

1.  vis.image:显示一张图片

viz.image(
np.random.rand(3, 512, 256),
opts=dict(title='Random!', caption='How random.'),
)
  • opts.jpgqualityJPG质量(number0-100;默认= 100
  • opts.caption:图像的标题

2.  vis.images:显示一组图片

viz.images(
np.random.randn(20, 3, 64, 64),
opts=dict(title='Random images', caption='How random.')
)

输入类型:B x C x H x W张量或list of images全部相同的大小。它使大小的图像(B / Nrow,Nrow)的网格。 可选参数opts:

  • nrow:连续的图像数量
  • padding:在图像周围填充,四边均匀填充
  • opts.jpgqualityJPG质量(number0-100;默认= 100
  • opts.caption:图像的标题

3.   vis.text:显示一段文本

 viz.text('Hello World !)

4.  viz.video:显示一段视频

video = np.empty([256, 250, 250, 3], dtype=np.uint8)
for n in range(256):
video[n, :, :, :].fill(n)
viz.video(tensor=video)

二.  Draw something

1.   vis.scatter :绘制2D或3D散点图

Y = np.random.rand(100)
old_scatter = viz.scatter( # 新开一个scatter窗口
X=np.random.rand(100, 2),
Y=(Y[Y > 0] + 1.5).astype(int),
opts=dict(
legend=['Didnt', 'Update'],
xtickmin=-50,
xtickmax=50,
xtickstep=0.5,
ytickmin=-50,
ytickmax=50,
ytickstep=0.5,
markersymbol='cross-thin-open',
), )
viz.update_window_opts(
win=old_scatter, # 更新窗口
opts=dict(
legend=['Apples', 'Pears'],
xtickmin=0,
xtickmax=1,
xtickstep=0.5,
ytickmin=0,
ytickmax=1,
ytickstep=0.5,
markersymbol='cross-thin-open',
),
)
  • opts.colormap :colormap(string; default = 'Viridis')
  • opts.markersymbol:标志符号(string;默认= 'dot')
  • opts.markersize :标记大小(number;默认= '10')
  • opts.markercolor:每个标记的颜色。(torch.*Tensor; default = nil)
  • opts.legend :table包含图例名称

opts.markercolor是一个整数值的张量。张量可以是大小N或N x 3或K或K x 3。

  • 尺寸张量N:每个数据点的单一强度值。0 =黑色,255 =红色
  • 尺寸张量N x 3:每个数据点的红色,绿色和蓝色强度。0,0,0 =黑色,255,255,255 =白色
  • 尺寸K和张量K x 3:与每个数据点具有唯一的颜色不同,对于特定标签的所有点共享相同的颜色。

               

可以在visdom界面上直接保存png格式

又如右上图:

viz.scatter(
X=np.random.rand(100, 3),
Y=(Y + 1.5).astype(int),
opts=dict(
legend=['Men', 'Women'],
markersize=5,
)
)

定制点类型、强度、颜色、文字:

viz.scatter(
X=np.random.rand(255, 2),
Y=(np.random.randn(255) > 0) + 1,
opts=dict(
markersize=10,
markercolor=np.floor(np.random.random((2, 3)) * 255),
),
) win = viz.scatter(
X=np.random.rand(255, 2),
opts=dict(
markersize=10,
markercolor=np.random.randint(0, 255, (255, 3,)),
),
) # assert that the window exists
assert viz.win_exists(win), 'Created window marked as not existing' # add new trace to scatter plot
viz.scatter(
X=np.random.rand(255),
Y=np.random.rand(255),
win=win,
name='new_trace',
update='new'
) # 2D scatter plot with text labels:
viz.scatter(
X=np.random.rand(10, 2),
opts=dict(
textlabels=['Label %d' % (i + 1) for i in range(10)]
)
)

效果如下:

2.  viz.bar: 绘制规则的,堆积的或分组的条形图

viz.bar(X=np.random.rand(20))
viz.bar(
X=np.abs(np.random.rand(5, 3)),
opts=dict(
stacked=True,
legend=['Facebook', 'Google', 'Twitter'],
rownames=['', '', '', '', '']
)
)
viz.bar(
X=np.random.rand(20, 3),
opts=dict(
stacked=False,
legend=['The Netherlands', 'France', 'United States']
)
)

可选参数:

  • opts.rownames:table包含x轴标签
  • opts.stacked :堆栈中的多个列 X
  • opts.legend :table包含图例标签

效果如下:

3  viz.histogram: 绘制直方图

viz.histogram(X=np.random.rand(10000), opts=dict(numbins=20))

可选参数:

  • opts.numbins:箱数量(number;默认= 30)

4. viz.heatmap:绘制热图

viz.heatmap(
X=np.outer(np.arange(1, 6), np.arange(1, 11)),
opts=dict(
columnnames=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'],
rownames=['y1', 'y2', 'y3', 'y4', 'y5'],
colormap='Electric',
)
)

可选参数:

  • opts.colormap :colormap(string; default = 'Viridis')
  • opts.xmin :clip最小值(number;默认= X:min())
  • opts.xmax :clip最大值(number;默认= X:max())
  • opts.columnnames:table包含x轴标签
  • opts.rownames :table包含y轴标签

5. viz.contour:绘制等高线

x = np.tile(np.arange(1, 101), (100, 1))
y = x.transpose()
X = np.exp((((x - 50) ** 2) + ((y - 50) ** 2)) / -(20.0 ** 2))
viz.contour(X=X, opts=dict(colormap='Viridis'))

可选参数:

  • opts.colormap:colormap(string; default = 'Viridis')
  • opts.xmin :clip最小值(number;默认= X:min())
  • opts.xmax :clip最大值(number;默认= X:max())

6.  vis.surf :绘制曲面图

viz.surf(X=X, opts=dict(colormap='Hot'))

可选参数:

  • opts.colormap:colormap(string; default = 'Viridis')
  • opts.xmin :clip最小值(number;默认= X:min())
  • opts.xmax :clip最大值(number;默认= X:max())

7. vis.boxplot:绘制箱型图

X = np.random.rand(100, 2)
X[:, 1] += 2
viz.boxplot(
X=X,
opts=dict(legend=['Men', 'Women'])
)

可选参数:

  • opts.legend:中的每一列的标签 X

8.   vis.stem:绘制杆图

Y = np.linspace(0, 2 * math.pi, 70)
X = np.column_stack((np.sin(Y), np.cos(Y)))
viz.stem(
X=X,
Y=Y,
opts=dict(legend=['Sine', 'Cosine'])
)

可选参数:

  • opts.colormap:colormap(string; default = 'Viridis')
  • opts.legend :table包含图例名称

直方图至杆图实例:(左至右,上至下)

9.  viz.quiver:绘制矢量场

X = np.arange(0, 2.1, .2)
Y = np.arange(0, 2.1, .2)
X = np.broadcast_to(np.expand_dims(X, axis=1), (len(X), len(X)))
Y = np.broadcast_to(np.expand_dims(Y, axis=0), (len(Y), len(Y)))
U = np.multiply(np.cos(X), Y)
V = np.multiply(np.sin(X), Y)
viz.quiver(
X=U,
Y=V,
opts=dict(normalize=0.9),
)
  • opts.normalize:最长箭头的长度(number)
  • opts.arrowheads:显示箭头(boolean;默认= true)

10. viz.pie:绘制饼图

X = np.asarray([19, 26, 55])
viz.pie(
X=X,
opts=dict(legend=['Residential', 'Non-Residential', 'Utility'])
)

11.  viz.mesh:绘制网格图

x = [0, 0, 1, 1, 0, 0, 1, 1]
y = [0, 1, 1, 0, 0, 1, 1, 0]
z = [0, 0, 0, 0, 1, 1, 1, 1]
X = np.c_[x, y, z]
i = [7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2]
j = [3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3]
k = [0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6]
Y = np.c_[i, j, k]
viz.mesh(X=X, Y=Y, opts=dict(opacity=0.5))

可选参数:

  • opts.color:color(string)
  • opts.opacity:多边形不透明度(number介于0和1之间)

矢量场至网格图实例:(左至右,上至下)

12.  vis.line:绘制线条

viz.line(Y=np.random.rand(10), opts=dict(showlegend=True))

Y = np.linspace(-5, 5, 100)
viz.line(
Y=np.column_stack((Y * Y, np.sqrt(Y + 5))),
X=np.column_stack((Y, Y)),
opts=dict(markers=False),
)

可选参数:

  • opts.fillarea :填充行(boolean)以下的区域
  • opts.colormap :colormap(string; default = 'Viridis')
  • opts.markers :show markers(boolean; default = false)
  • opts.markersymbol:标志符号(string;默认= 'dot')
  • opts.markersize :标记大小(number;默认= '10')
  • opts.legend :table包含图例名称

更新可选参数:

# line updates
win = viz.line(
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)),
)
viz.line(
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)),
win=win,
update='append'
)
viz.line(
X=np.arange(21, 30),
Y=np.arange(1, 10),
win=win,
name='',
update='append'
)
viz.line(
X=np.arange(1, 10),
Y=np.arange(11, 20),
win=win,
name='delete this',
update='append'
)
viz.line(
X=np.arange(1, 10),
Y=np.arange(11, 20),
win=win,
name='',
update='insert'
)

附:通用可选参数:

  • 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:底部边距(以像素为单位)

Pytorch Visdom的更多相关文章

  1. pytorch visdom可视化工具学习—1—详细使用-1—基本使用函数

    使用教程,参考: https://github.com/facebookresearch/visdom https://www.pytorchtutorial.com/using-visdom-for ...

  2. pytorch visdom可视化工具学习—1—详细使用-2-plotting绘图

    3)plotting绘图 我们已经包装了几种常见的plot类型,以便轻松创建基本的可视化.这些可视化是由Plotly驱动的. Visdom支持下列API.由 Plotly 提供可视化支持. vis.s ...

  3. Pytorch Visdom可视化工具

    2018-12-04 14:05:49 Visdom是Facebook专门为PyTorch开发的一款可视化工具,其开源于2017年3月.Visdom十分轻量级,但却支持非常丰富的功能,能胜任大多数的科 ...

  4. pytorch visdom可视化工具学习—1—详细使用-3-Generic Plots和Others

    4)Generic Plots 注意,服务器API遵循数据和布局对象的规则,这样您就可以生成自己的任意Plotly可视化: # Arbitrary visdom content trace = dic ...

  5. pytorch visdom可视化工具学习—1—安装和使用

    1.安装 安装命令: (deeplearning) userdeMBP:~ user$ pip install visdomCollecting visdom  Downloading https:/ ...

  6. pytorch visdom可视化工具学习—3-命令行操作使用经验

    在使用过程中一直以为要在哪个指定的environment下(即参数env)绘制内容,就必须在使用时声明 比如如果不声明,默认的就是在'main'环境下,端口为8097: viz = visdom.Vi ...

  7. 深度学习框架PyTorch一书的学习-第五章-常用工具模块

    https://github.com/chenyuntc/pytorch-book/blob/v1.0/chapter5-常用工具/chapter5.ipynb 希望大家直接到上面的网址去查看代码,下 ...

  8. (转)Awesome PyTorch List

    Awesome-Pytorch-list 2018-08-10 09:25:16 This blog is copied from: https://github.com/Epsilon-Lee/Aw ...

  9. 【Semantic segmentation Overview】一文概览主要语义分割网络(转)

    文章来源:https://www.tinymind.cn/articles/410 本文来自 CSDN 网站,译者蓝三金 图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类 ...

随机推荐

  1. jquery 实现按回车键登录功能的写法

    <script> //登录的逻辑函数 自己写 function submitFuc(){ var loginName= $("#loginName").val(); v ...

  2. [leetcode-108,109] 将有序数组转换为二叉搜索树

    109. 有序链表转换二叉搜索树 Given a singly linked list where elements are sorted in ascending order, convert it ...

  3. HTTP Method小记

    HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这3个方法 HTTP 1.1 这个版本是当前版本,包含GET HEAD POST OPTIONS PUT ...

  4. Mac OS X 启用超级用户 sudo -s 获得系统权限 Mac终端命令

    为了防止误操作破坏系统,用户状态下时没有权限操作系统重要文件, 所以先要取得root权限:“sudo -s” 详见:https://www.jianshu.com/p/138b98e662ed

  5. aspx页面控件id上自动加前缀

    公司的一个.net项目,使用的传统aspx页面开发,每个控件上自动加了前缀,最初以为是extjs.net自带的功能,后来研究发现,主要是因为内部使用了母版页.<asp:Content ID=&q ...

  6. CC2541设置中断输入模式

    //P0.0 /* SW_6 is at P0.1 */#define HAL_KEY_SW_6_PORT P0#define HAL_KEY_SW_6_BIT BV(0)#define HAL_KE ...

  7. IDEA 远程调试 Tomcat 和 Debugger

    一般来说我们本地环境使用Tomcat,生产环境使用GlassFish. 准备工作 明确远程服务器的 IP 地址,比如:192.168.92.128 关掉服务器防火墙:service iptables ...

  8. nginx 相关命令

    验证配置是否正确: nginx -t 查看Nginx的版本号:nginx -V 启动Nginx:start nginx 快速停止或关闭Nginx:nginx -s stop 正常停止或关闭Nginx: ...

  9. python随机数random模块

    需要  import random x=random.random()    产生 0 到 1 之间的随机浮点数 结果  0.005570080000840916 x=random.randint(1 ...

  10. Scala思维导图