来源:wandb
编译:邢畅、宁静
在训练神经网络的过程中,我们可能会希望可视化网络的性能和中间的结构,很多可视化代码的冗长复杂使得我们望而却步,有没有一行代码就能解决可视化的所有问题呢?
通过wandb,只需要加一行Python代码就可以可视化Keras网络性能指标和结构。(注:Keras使得构建神经网络变得简单明了,这一点深得人心)
这样好用的包如何下载呢?
只需运行“pip install wandb”,就可以轻松地安装wandb,然后所有的Keras示例就都可以运行了。
实测运行
为了测试wandb的可视化效果,我修改了Keras examples目录中的一些脚本来测试这个功能,只需将下面一行代码添加到训练脚本的顶部。
from wandb import magic
Keras examples链接:
https://github.com/keras-team/keras
简单的CNN
由入门的mnist_cnn.py开始,我添加了一行“from wandb import magic”——你也可以查看mnist_cn.py,这是从Keras examples中fork过来的,只更改了一行。
mnist_cn.py链接:
https://github.com/lukas/keras/blob/master/examples/mnist_cnn.py
当模型运行时,wandb在后台启动一个进程,保存相关指标至wandb.com。你可以访问网页链接查看输出。得到的结果如下:
链接:
https://app.wandb.ai/l2k2/keras-examples/runs/ovptynun/model
模型标记的数据以及损失曲线和精度曲线如下:
Cifar数据集上的ResNet
接下来,我fork了cifar10_resnet.py并同样地更改了一行,你可以在wandb.com看到ResNet的可视化。
cifar10_resnet.py链接:
https://github.com/lukas/keras/blob/master/examples/cifar10_resnet.py
可视化网页链接:
https://app.wandb.ai/l2k2/keras-examples/runs/ieqy2e9h/model
在system界面,可以看到这个模型比mnist示例使用了更多的GPU。
system界面链接:
https://app.wandb.ai/l2k2/keras-examples/runs/ieqy2e9h/system
Siamese网络
接下来我尝试了siamese网络的例子。在这个例子中,我想看一下TensorFlow图,幸运的是,同样只需要一行代码就可以调用可视化工具TensorBoard。你可以点击下方链接查看。
可视化后链接:
https://app.wandb.ai/l2k2/keras-examples/runs/fsc63n6a?workspace=user-l2k2
其他功能
对于每个模型的测试都只花费了不到一分钟的时间,也只增加了很少的计算开销,并且该方法适用于你使用的任何Keras模型。如果想要跟踪更多的东西,你可以用下面两行来代替:
import wandb wandb.init(magic=True)
然后你可以使用自定义wandb.log()函数来保存想保存的任何内容。可以去wandb网站了解更多信息。
wandb网站链接:
https://docs.wandb.com/docs/started.html
相关报道:
https://www.wandb.com/articles/visualize-keras-models-with-one-line-of-code