在使用过程中一直以为要在哪个指定的environment下(即参数env)绘制内容,就必须在使用时声明

比如如果不声明,默认的就是在'main'环境下,端口为8097:

viz = visdom.Visdom()

这个时候如果想要在另一个环境,比如'mydata',其实并不用重新声明下面的语句:

viz = visdom.Visdom(env='mydata')

可以仍使用viz = visdom.Visdom()的viz

只要在你绘制内容的时候注明使用的是env='mydata'这个环境,如果现在还没有该环境,visdom会自动生成,举例说明:

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

可见我此时是没有'mydata'这个环境的,运行命令:

import visdom
viz = visdom.Visdom() # 查看在该环境'mydata'下是否有窗口'win_A'
print(viz.win_exists(env='mydata', win='win_A'))
viz.image(
np.random.rand(, , ),
opts=dict(title='Random!', caption='How random.'),
env='mydata',
win='win_A'
) print(viz.win_exists(env='mydata', win='win_A'))
print(viz.win_exists(env='mydata', win='win_B'))

返回:

None
True
False

因此一开始没有'mydata'这个环境,所以返回None

之后指定在上面绘图会自动生成该环境和窗口,所以返回True

返回False是因为在'mydata'这个环境中没有窗口'win_B'

这个时候查看为:

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

但是这个时候查看环境json文件存储路径中,发现还没有该'mydata'环境的json文件:

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

生成办法有两种:

1)手动点击页面的存储按钮来保存该环境,这样就能够生成该json文件了:

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

2)命令行保存方法:

viz.save(['mydata'])

返回:

'["mydata"]'

运行该命令后就发现.visdom文件夹下生成了mydata.json文件:

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

05-04 00:46