Wandb用起来,一行Python代码实现Keras模型可视化

2019-08-08 18:07:39 浏览数 (1)

大数据文摘出品

来源:wandb

编译:邢畅、宁静

在训练神经网络的过程中,我们可能会希望可视化网络的性能和中间的结构,很多可视化代码的冗长复杂使得我们望而却步,有没有一行代码就能解决可视化的所有问题呢?

通过wandb,只需要加一行Python代码就可以可视化Keras网络性能指标和结构。(注:Keras使得构建神经网络变得简单明了,这一点深得人心)

这样好用的包如何下载呢?

只需运行“pip install wandb”,就可以轻松地安装wandb,然后所有的Keras示例就都可以运行了。

实测运行

为了测试wandb的可视化效果,我修改了Keras examples目录中的一些脚本来测试这个功能,只需将下面一行代码添加到训练脚本的顶部。

代码语言:javascript复制
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模型。如果想要跟踪更多的东西,你可以用下面两行来代替:

代码语言:javascript复制
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

0 人点赞