今天,谷歌发布了一系列TensorBoard API,开发者可在TensorBoard中添加自定义的可视化插件,实现自定义可视化效果。同时,谷歌还升级了TensorBoard的仪表盘。
API获取地址:
https://github.com/tensorflow/tensorboard-plugin-example/blob/master/README.md
这些API有何特点?谷歌背后的目的何在?我们不妨一探究竟。
△ TensorBoard完全配置时的样子
这事还得从头说起。
2015年,谷歌开源了TensorFlow,里面自带一套帮助检测、理解和运行模型的可视化工具TensorBoard。
TensorBoard中包含了一小组预先确定的通用可视化效果,基本上适用于所有的深度学习应用,比如观察损失随时间的变化,或在高维空间中探索聚类。
然而,在没有可重用的API时,TensorFlow团队外的开发人员添加新的可视化效果比较困难。因此,谷歌决定发布一套统一的API,让开发者能在TensorBoard中添加自定义的可视化插件。同时,谷歌还用这些新API升级了现有的仪表盘,当做创作参考示例。
目前,用户可以在GitHub上找到TensorBoard/plugins目录,探索这些TensorBoard中的插件列表。
目录地址:
https://github.com/tensorflow/tensorboard-plugin-example
举个例子,比如这个能生成准确率与召回率曲线的新插件pr_curves:
这个插件展示了标准TensorBoard插件中包含的三部分内容:
1. 用于收集数据供以后可视化使用的summary_operation文档
GitHub地址:
https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/pr_curve/summary.py
2. 为自定义数据服务的Python后端
GitHub地址:
https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/pr_curve/pr_curves_plugin.py
3. 内置TypeScript和polymer的TensorBoard仪表盘
GitHub地址:
https://github.com/tensorflow/tensorboard/tree/master/tensorboard/plugins/pr_curve/tf_pr_curve_dashboard
此外,与其他插件一样,“pr_curves”提供了一个Demo,用户可以学习如何使用插件,插件开发者可用来生成开发期间的示例数据。
为了进一步说明插件是如何工作的,谷歌还创建了一个框架性的Greeter插件,它能在运行模型时可以收集并显示问候语。谷歌在博客中建议开发人员从Greeter插件和其他现有的插件开始探索。
插件地址:
https://github.com/tensorflow/tensorboard/tree/master/tensorboard/plugins
比如,杨百翰大学的Chris Anderson硕士期间创建了一个API并命名为Beholder,Beholder能将训练模型时的数据(如梯度和卷积滤波器等)以视频的形式展示出来,量子位将demo视频搬运了过来:
△ Anderson创建TensorBoard API Beholder
不得不说,谷歌一直是“全民AI”的拥护者。
上月,谷歌TensorFlow和AIY(AI+DIY)团队开源了语音识别数据集,帮助开发者为各种智能设备创建个性基本语音指令。
今年6月,推在移动设备上运行的AI模型TensorFlow Lite后没几周,谷歌又开源了预先训练的计算机视觉模型MobileNets,专为智能手机设计。
最后,附Google Research Blog原文地址:
https://research.googleblog.com/2017/09/build-your-own-machine-learning.html