推出 TensorBoard.dev
文 / Gal Oshri, 产品经理
TensorBoard 是 TensorFlow 的可视化工具包,研究人员和工程师通常用来进行可视化和理解 ML 实验。该工具包支持追踪实验指标、可视化模型、分析 ML 程序、可视化超参数调优实验等等。
虽然 TensorBoard 可以让您更轻松地将自己的实验可视化,但机器学习通常需要多人协作。您可能会希望分享自己关于超参数效果的研究、解释复杂的训练过程,或在排查模型行为异常时获取帮助。
我们已经看到人们通过分享他们的 TensorBoard 屏幕截图来实现这些目的。但是,屏幕截图不能交互,且无法提供所有细节。在 Google,研究人员和工程师经常通过将 TensorBoard 可视化内容发送给团队成员来交流他们对模型行为的分析与理解。我们希望能为更广大的社区提供这一功能。
这就是我们发布 TensorBoard.dev 的原因:一个让您可以轻松托管、追踪并分享 ML 实验的免费托管式服务(目前处于预览阶段)。用户只需上传自己的 TensorBoard 日志,即可获取所有人都可以查看的链接,而无需安装或设置。
一图胜千言,我们相信可交互的 TensorBoard 将提供更多有价值的信息。
《探索使用统一的文本到文本转换器进行转移学习的局限性》的 TensorBoard.dev 实验
我们很高兴看到社区采用 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 (tfhub.dev) 上多语言 Universal Sentence Encoder 模型的训练可在此处查看。
问题排查:假设您在训练期间遇到了意外行为。分享 TensorBoard 的链接(而非屏幕截图)有助于快速传达该问题并协助您进行问题排查。
教程:TensorFlow.org 上关于过拟合和欠拟合以及 Pix2Pix 的教程现在使用 TensorBoard.dev 来协助说明实验成果。
入门指南
第一步是确定您想要分享的 TensorBoard 日志(可以从此处下载示例)。请注意,您上传的 TensorBoard 将对公众可见,所以请不要上传敏感数据。
请确保您已安装最新的 TensorBoard:
1pip install -U tensorboard
然后,只需使用上传命令:
1tensorboard 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 实用性的反馈或想法,请发送邮件至 tensorboard.dev-support@google.com,我们很乐意倾听您的声音。
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
TensorBoard
http://tensorflow.google.cn/tensorboard追踪实验指标
https://tensorflow.google.cn/tensorboard/scalars_and_keras可视化模型
https://tensorflow.google.cn/tensorboard/graphs分析 ML 程序
https://tensorflow.google.cn/tensorboard/tensorboard_profiling_keras可视化超参数调优实验
https://tensorflow.google.cn/tensorboard/hyperparameter_tuning_with_hparams《探索使用统一的文本到文本转换器进行迁移学习的局限性》
https://arxiv.org/pdf/1910.10683.pdfTensorBoard.dev 实验
https://tensorboard.dev/experiment/EvNO346lT0iYbmeaWmoNCQ/TensorFlow Models 代码库
https://github.com/tensorflow/modelsBERT 模型
https://github.com/tensorflow/models/tree/master/official/nlp/bertBERT 模型 TensorBoard
https://tensorboard.dev/experiment/k3N0Vr1eT6GJpDmxg0BRDA/#scalars强化学习示例
https://github.com/tensorflow/tfjs-examples/tree/master/snake-dqn强化学习示例 TensorBoard
https://tensorboard.dev/experiment/TJFBWBx3T5WrFBs4Ar76Sw/#scalars多语言 Universal Sentence Encoder 模型
https://tfhub.dev/google/universal-sentence-encoder-multilingual/2对应 TensorBoard
https://tensorboard.dev/experiment/SvksntV8QOWGVxSrHoOCWQ/#scalars过拟合和欠拟合
https://tensorflow.google.cn/tutorials/keras/overfit_and_underfitPix2Pix
https://tensorflow.google.cn/tutorials/generative/pix2pix下载示例
https://storage.googleapis.com/download.tensorflow.org/tensorboard/log_set_28-10-2019.zip联系我们
mailto:tensorboard.dev-support@google.comColab 端到端教程
https://colab.research.google.com/github/tensorflow/tensorboard/blob/master/docs/tbdev_getting_started.ipynbTensorBoard Scalars 教程
https://tensorflow.google.cn/tensorboard/scalars_and_keras