文 / Gal Oshri, 产品经理,2019/12/2
TensorBoard 是 TensorFlow 的可视化工具包,研究人员和工程师通常用来进行可视化和理解 ML 实验。该工具包支持 追踪实验指标、可视化模型、分析 ML 程序、可视化超参数调优实验 等等。
虽然 TensorBoard 可以让您更轻松地将自己的实验可视化,但机器学习通常需要多人协作。您可能会希望分享自己关于超参数效果的研究、解释复杂的训练过程,或在排查模型行为异常时获取帮助。
我们已经看到人们通过分享他们的 TensorBoard 屏幕截图来实现这些目的。但是,屏幕截图不能交互,且无法提供所有细节。在 Google,研究人员和工程师经常通过将 TensorBoard 可视化内容发送给团队成员来交流他们对模型行为的分析与理解。我们希望能为更广大的社区提供这一功能。
这就是我们发布 TensorBoard.dev 的原因:一个让您可以轻松托管、追踪并分享 ML 实验的免费托管式服务(目前处于预览阶段)。用户只需上传自己的 TensorBoard 日志,即可获取所有人都可以查看的链接,而无需安装或设置。
一图胜千言,我们相信可交互的 TensorBoard 将提供更多有价值的信息。
我们很高兴看到社区里也在使用 TensorBoard.dev。以下是一些例子和创意:
-
研究:论文 《探索使用统一的文本到文本转换器进行转移学习的局限性》(Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer) 研究了使用文本到文本模型的 NLP 转移学习,并在多项任务上取得了最高水准 (state-of-the-art, SOTA) 成果。
此 TensorBoard.dev 示例 展示了 “预训练数据集” 探索的基线训练结果,与文中表 8 第一行对应。TensorBoard 中的损耗曲线显示了约 52 万步的预训练过程,以及之后特定于任务的训练。 -
示例模型:TensorBoard.dev 可为想要理解示例模型训练流程的人提供参照物,或确保其能够正确地再现示例模型。例如:
- TensorFlow Models 代码库 中的 BERT 模型 预训练任务的训练可在 此 TensorBoard 中查看。
- TensorFlow.js 强化学习示例 包括连接到 相应 TensorBoard 的链接。
- TF Hub 上 多语言 Universal Sentence Encoder 模型 的训练可在 此处查看。
-
问题排查:假设您在训练期间遇到了意外行为。分享 TensorBoard 的链接(而非屏幕截图)有助于快速传达该问题并协助您进行问题排查。
-
教程:TensorFlow.org 上关于 过拟合和欠拟合 以及 Pix2Pix 的教程现在使用 TensorBoard.dev 来协助说明实验成果。
入门指南
第一步是确定您想要分享的 TensorBoard 日志(可以从此处 下载示例)。请注意,您上传的 TensorBoard 将对公众可见,所以请不要上传敏感数据。请确保您已安装最新的 TensorBoard:
pip install -U tensorboard
然后,只需使用上传命令:
tensorboard dev upload --logdir {logs}
按照说明使用 Google 帐号进行身份验证后,您将获得一个 TensorBoard.dev 链接。您可以立即查看 TensorBoard,即使是在上传期间也可以。上传程序将继续运行并上传日志目录中的新日志,直到您停止该进程。
所有人都可以打开 TensorBoard.dev 链接,所以请随意使用以分享您的研究,在 GitHub 问题或 Stack Overflow 问题下寻求建议,或无需打开本地 TensorBoard 即可轻松追踪您的实验。需要使用 Google 帐号上传日志,查看 TensorBoard 则不需要。
其他几个命令可以用于排列、删除或导出您的实验。您可以使用 tensorboard dev --help 命令了解详情。目前,每名用户的数据点上限为 1000 万。如果您达到此上限(上传时您将收到错误消息),请与我们联系!如需快速修复,请删除部分现有实验。
您可以在此处找到在 Colab 中运行的端到端教程。尽管该教程会展示如何使用通过 Keras 的 .fit() 命令创建的 TensorBoard 日志,但您也可以使用通过基于 GradientTape 的训练循环(如 TensorBoard Scalars 教程 所示)所创建的日志或其他任何有效 TensorBoard 日志。
TensorBoard.dev 未来有何计划?
TensorBoard.dev 正处于预览阶段,目前仅包含 TensorBoard 的标量信息中心功能。我们后续将为 TensorBoard 添加更多功能,并扩展共享功能。我们还在探索一些想法,以使您能够轻松地发现有趣的 TensorBoard。
如果您有任何关于提高 TensorBoard.dev 实用性的反馈或想法,请发送邮件至 [email protected],我们很乐意倾听您的声音。
原文:Introducing TensorBoard.dev: a new way to share your ML experiment results
中文发布:TensorFlow 公众号