用新的 TensorBoard API 构建机器学习可视化插件

TensorBoard 是一套用来检查和理解以及运行 TensorFlow 模型的可视化工具,于 2015 年 TensorFlow 开源的时候一起发布。它包含一个小型的、预先确定的通用的一系列可视化工具,并且可以适用于所有的深度学习应用程序,比如:观察损失随时间变化或在高维空间中探索集群。可是,如果在没有可复用的 API 的情况下,对于 TensorFlow 团队以外的人想要往 TensorBoard 添加新的可视化插件确实非常困难的,所以,这就给社区留下了一个可以创建出具有创造性、美观和有用的可视化插件的可能性。

为了让更多的人可以方便的给 TensorBoard 创建新的和有用的可视化插件,TensorFlow 团队发布了一系列可以让开发者给 TensorBoard 添加自定义可视化插件的标准 API。开发者可以通过这些 API 扩展 TensorBoard 的功能,使其可以覆盖到更加广泛的应用场景。

同时,TensorFlow 团队也使用这套新的 API 更新了 TensorBoard 中已有的可视化插件,所以开发者在开发插件的时候也可以参考这些插件。TensorBoard 中目前已经包含的插件可以从  GitHub上的 tensorboard / plugins 目录获取。比如,可以查看和生成精确回忆曲线 (precision-recall curves) 的新插件:

这个插件展示了标准的 TensorBoard 插件的三个部分:

  1. 一种用于收集数据以供后续可视化的 TensorFlow 的 Summary Operations。 [GitHub]
  2. 提供自定义数据的 Python 后端。 [GitHub]
  3. 在 TensorBoard 中 使用 TypeScript 和 Polymer 创建仪表盘。 [GitHub]

另外,像其他插件一样,“pr_curves” 插件也提供了一个Demo,通过这个 Demo 我们可以学习如何使用插件以及插件开发者在开发插件的时候如何生成示例数据。为了进一步说明插件是如何工作的,TensorFlow 团队还创建了一个标准的 TensorBoard“Greeter” 插件。这个简单的插件会收集和显示在模型运行期间产生的问候语(简单字符串前面加上“Hello”)。TensorFlow 团队的建议是先研究一下(或派生)Greeter 插件以及其他现有的插件再去开发自己的插件。

Beholder 插件是一个对于如何使用 TensorBoard API 非常值得参考的例子,由 Chris Anderson 在读硕士期间创建。Beholder 可以在作为队列模型展示实时视频数据(如梯度和卷积滤波器)。点击这里可以观看它的演示视频。

TensorFlow 团队非常期待看到社区可以产生一些新的可视化插件创意。如果你打算向 TensorBoard 的插件仓库提交插件,那么你最好先通过问题跟踪器(Issues) 将自己的想法展示给 TensorFlow 团队,以便他们给你提供更多的帮助和指导。

致谢

感谢 Dandelion Mane 和 William Chargin 在创建这套 API 方面发挥了关键作用。

编译:谷饭  原文/配图:Google Research Blog  校对:Millen

分享到
label, ,

About the author

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注