微软开源TensorWatch AI调试工具

导读分享一篇关于互联网、手机、快科技的文章。相信很多朋友对互联网和手机技术还是不太了解。然后边肖还在网上收集了一些关于手机、互联网和科

分享一篇关于互联网、手机、快科技的文章。相信很多朋友对互联网和手机技术还是不太了解。然后边肖还在网上收集了一些关于手机、互联网和科技的相关知识与大家分享。希望你看完会喜欢。

微软研究院开源TensorWatch,这是他们针对AI和深度学习的调试工具。TensorWatch支持PyTorch和Tensorflow的TensorFlow期望张量,允许开发人员通过Jupyter笔记本实时交互调试训练作业,或者用Python构建自己的自定义UI。

在最近的一篇博客文章中,由Shital Shah领导的研究团队宣布了TensorWatch的开源版本。TensorWatch是一个Python库,用于可视化深度学习模型开发周期中不同阶段的数据:从模型结构到训练指标,再到模型预测的解释。TensorWatch旨在用作Jupyter笔记本或JupyterLab仪表板中的交互工具,但作为Python库,它也可以包含在自定义工具和UI中。根据开发团队的说法:

“我们喜欢把TensorWatch看作是瑞士军刀的调试工具,有很多先进的功能,研究人员和工程师在工作中会找到帮助。”

在模型训练期间使用TensorWatch的关键概念是stream,它是一系列事件,包含在某个时间点观察到的数据值。深度学习训练分批次(训练数据子集)和时段(整个数据集的训练)进行。在每个批次和每个周期之后,训练框架将输出几个指标来显示训练进度,例如模型在测试数据集上的准确性。要使用TensorWatch,需要修改训练代码(或乐器)并将其与这些指标一起发送到流中。TensorWatch支持“惰性日志”模式。如果不使用流数据,开销很低。这个想法是观察所有可能在调试中有用的指示器。

TensorWatch可视化用户界面也是为处理流而设计的。随着新事件的到来,用户界面被更新以包括新事件中的数据。TensorWatch允许用户通过从现有流创建新流来转换流数据;新流将用户定义的Python lambda函数应用于每个传入事件。TensorWatch的核心价值在于能够低成本观察所有训练指标,应用任意变换,并在Jupyter笔记本中实时查看结果。

该库还包含开发过程其他阶段的可视化功能。例如,看神经网络模型的图形,在低维空间中可视化数据集或解释模型的输出。TensorWatch实际上并没有实现这些功能;相反,TensorWatch为它们提供了包装接口。

TensorWatch旨在与PyTorch一起使用。PyTorch目前缺乏原生可视化和调试工具,而谷歌的竞争对手TensorFlow框架附带了一个名为TensorBoard的可视化工具。因此,用于TensorFlow高级API封装的TensorFlow和Keras都有方便的方法来可视化插件训练过程。PyTorch没有类似的便捷方法。视觉训练的TensorWatch示例实际上依赖于一个单独的Python库(由TensorWatch团队负责人Shah维护)来处理仪器。不清楚为什么这个代码没有包含在TensorWatch中。

虽然它主要用于PyTorch,但该团队表示,“它也应该与TensorFlow的期望张量一起使用”。在Reddit上的一个线程中,用户询问了TensorWatch和TensorBoard的比较,以及TensorWatch是否可以和Keras一起使用。

免责声明:本文由用户上传,如有侵权请联系删除!