使用VisualDL有一段时间了,在交流群里热心小哥哥和小姐姐的帮助下,对它也有了一点了解,这里就把我走过的坑说一下。埋大家的坑,让别人无坑可跳。
VisualDL2.0入门--基于静态图的数字验证码识别:https://aistudio.baidu.com/aistudio/projectdetail/518501
从0开始写项目很累,如果对你有帮助,希望能fork、评论支持一下。
另外,有什么建议欢迎留言,我会及时关注的~
—————————————————————————————————————————————————————
正文
1. 版本检查(喝前摇一摇):
现在普遍用的是VisudlDL2.0版本(以下简称VDL),对应的Paddle也需要1.8版本以上,所以用前请务必检查你的版本是否正确。
2. 无法打开VDL(摇完打不开):
AI Studio下,你的LogWriter目录必须在/home/aistudio/log或者他的子目录
在本地的话没有要求,但是要确保LogWriter打开的目录下有.log文件
3. 打开VDL显示空白或显示不正确(打开不好喝):
这个问题主要是送进LogWriter的数据不规范,请严格按照要求修改
————————————————————我是没有感情的分界线———————————————————————
———————————————————————我是没有感情的分界线————————————————————
4. 重复在相同文件夹调用LodWriter(喝了还想喝):
先看一段代码示例:
# 当前目录为/home/aistudio with LogWriter("log") as log_writer: pass with LogWriter("log/DenseNet") as log_writer: pass
如果你学过C,可以把LogWriter理解成指针。上面的代码生成了两个指针,分别指向log文件夹和log/DenseNet文件夹,我们是可以正常写入并且VDL可以从这里面读数据的。但是如果写成下面的格式,就会出问题:
# 当前目录为/home/aistudio with LogWriter("log") as log_writer: pass # 重新定义了一个指针,也指向log文件夹 with LogWriter("log") as log_writer: pass
你重新定义了一个指针,指向log文件夹。C中我们知道指针会把指向地址的数据直接更改,因此这两个代码块如果第二个正确执行,会直接将第一个代码块做的操作覆盖。下面是我和VDL交流群中 @Yixin|VisualDL小姐姐的原话:
—————————————————————————————————————————————————————
我:with LogWtiter只要写一次就行了吗?
Yixin|VisualDL:这样就代表生成了一个LogWriter 而一个LogWriter是对应一个指定logdir的 你写了三个LogWriter,而指明的又是一个logdir,就会分别往一个路径下的三个文件写日志而就像我上午说的一样,一个路径下是根据文件名时间戳选取一个日志展示的,这样就会导致其中两个不会被展示
—————————————————————————————————————————————————————
我的logdir是对的,送到LogWriter的数据也正常,还是卡在加载数据的界面或者进去只有空白的坐标,我该怎么办?
咳咳!敲黑板了啊!
- 在AI Studio中,只要你启动项目,服务器那端会同时打开VDL,你的所有操作都会被监听到。但是VDL目前没有判断LogWriter指向的目录被删的操作,所以如果你不小心删除log文件,会导致VDLDL监听不到以前的log文件。解决办法只有一个,重新项目,服务器也会帮你重启VDL。
- 在本地运行的话,重启本地的visualdl即可
先占个沙发,为你点赞!
很棒~
牛牛牛 赞赞赞
感谢分享
大家也可以提提意见,我好边学边改正~
良心好帖
vd1.0时数据保存的间隔时间要设得比较技术,不能太频繁。
2.0还有这个问题么?
你可以每个batch就打点一次,但是生成的.log文件会很大很大。。
我在epoch=20,img_num=4000,batch_size=64的时候是每5个batch输出一次,最后的.log文件有三百兆左右吧
如果每个batch输出一次,应该会超过800MB
当时倒不是大小的问题,而是显示不太稳定。
2.0应该已经解决了
现在2.0很稳了哈哈
vd2比vd1整洁方便多了
最近会有新组件上线,敬请期待~
每个项目均可添加
?
哪方面的?
项目中添加,可以可视化,更方便分析
不清楚,可以去交流群了解下~
对的,一个项目还能监测多个模型
这个好,方便用于GAN