在使用过程中一直以为要在哪个指定的environment下(即参数env)绘制内容,就必须在使用时声明
比如如果不声明,默认的就是在'main'环境下,端口为8097:
viz = visdom.Visdom()
这个时候如果想要在另一个环境,比如'mydata',其实并不用重新声明下面的语句:
viz = visdom.Visdom(env='mydata')
可以仍使用viz = visdom.Visdom()的viz
只要在你绘制内容的时候注明使用的是env='mydata'这个环境,如果现在还没有该环境,visdom会自动生成,举例说明:
可见我此时是没有'mydata'这个环境的,运行命令:
import visdom viz = visdom.Visdom() # 查看在该环境'mydata'下是否有窗口'win_A' print(viz.win_exists(env='mydata', win='win_A')) viz.image( np.random.rand(3, 512, 256), 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'
这个时候查看为:
但是这个时候查看环境json文件存储路径中,发现还没有该'mydata'环境的json文件:
生成办法有两种:
1)手动点击页面的存储按钮来保存该环境,这样就能够生成该json文件了:
2)命令行保存方法:
viz.save(['mydata'])
返回:
'["mydata"]'
运行该命令后就发现.visdom文件夹下生成了mydata.json文件: