微软在GitHub开源平台上发布了一个名为TensorWatch的人工智能调试和可视化工具。TensorWatch可用于创建自定义可视化、UI和仪表板。它还可用于对您的实时ML培训过程执行任意查询,作为查询的结果返回一个流,并使用您选择的可视化工具查看这个流。
TensorWatch是一个Python库,它使用Jupyter Notebook而不是预先打包的用户界面,在这个基础上,Jupyter Notebook更容易定制。在进行实时培训过程的交互式调试时,您可以选择使用Jupyter Notebook中的可组合UI或Jupyter Lab中的实时共享仪表板。您还可以使用Python构建自己的自定义UI,或者选择现有的Python UI。TensorWatch还支持多种标准的可视化类型,包括条形图、柱状图和饼状图,支持2D和3D版本。
TensorWatch中的数据被视为一个流,其他对象包括文件、控制台、套接字、云存储和可视化。TensorWatch流可以侦听其他流,从而可以组合自定义数据流图。开发人员说,这意味着您可以将许多流呈现为相同的可视化,或者一个流可以同时呈现为许多可视化,或者一个流可以持久化到许多文件中,或者根本不持久化。
TensorWatch中使用的另一个主要思想是延迟日志记录模式。这意味着您不必设置显式日志记录;相反,你可以让TensorWatch观察变量。这样可以降低开销,因此您可以根据需要跟踪任意数量的变量,包括培训期间的大型模型或整批产品。
然后,您可以执行在TensorWatch观察到的变量上下文中运行的交互式查询,并得到返回的流。然后可以可视化、保存或处理这些流。开发人员给出了一个编写lambda表达式的示例,该表达式在每批处理完成时计算模型中每一层的平均权重梯度,并将结果作为可绘制为条形图的张量流发送。
TensorWatch还提供了基于现有开源库的训练前和训练后阶段的特性,用于为卷积网络提供模型图可视化、通过降维进行数据探索、模型统计和几个预测解释器。
TensorWatch支持Python 3.x,并使用PyTorch 0.4-1.x进行测试。
安装:
linuxidc@linuxidc:~/www.linuxidc.com$ pip3 install tensorwatch