跳转到主要内容

Treescope:一个交互式HTML美化打印器,用于IPython笔记本中的机器学习研究。

项目描述

Treescope

Treescope是一个交互式HTML美化打印器和N维数组("张量")可视化器,专为IPython笔记本中的机器学习和神经网络研究设计。它是标准IPython/Colab渲染器的替代品,并增加了以下支持:

  • 展开和折叠已渲染对象的子树,以便您可以关注您关心的模型的部分,
  • 自动嵌入任意维数数组和张量的分面可视化,直接嵌入到输出渲染中,以便您可以快速了解它们的形状和值分布,
  • 为神经网络模型的部分着色,以强调共享结构,
  • 插入"复制路径"按钮,让您可以轻松复制已渲染对象任何部分的路径,
  • 自定义可视化策略以支持渲染您自己的数据结构,
  • 等等!

Treescope最初是作为Penzai神经网络库的格式化打印工具开发的,但它也支持渲染使用其他库开发的神经网络,包括EquinoxFlax NNXPyTorch。您还可以将其与基本的JAXNumpy代码一起使用。

使用Treescope,您不必查看这个

Screenshot of a parameter dictionary without Treescope

而是可以查看这个

Screenshot of a parameter dictionary using Treescope

这是一个交互式可视化;尝试点击按钮来展开输出的一部分!(您也可以在滚动时按住shift键,以水平滚动而不是垂直滚动。)

有关Treescope的文档,请访问https://treescope.readthedocs.io

入门指南

您可以使用以下命令安装Treescope:

pip install treescope

然后使用以下命令导入:

import treescope

要在IPython笔记本中使用Treescope渲染特定对象,您可以使用treescope.show,它类似于print,但会产生丰富的交互式输出。

或者,您可以通过以下方式将Treescope配置为笔记本的默认格式化打印工具:

treescope.register_as_default()

要启用自动数组可视化,您可以运行

treescope.active_autovisualizer.set_globally(treescope.ArrayAutovisualizer())

或者,如果您想同时设置Treescope为默认格式化打印工具并启用自动数组可视化,您可以简单地运行

treescope.basic_interactive_setup(autovisualize_arrays=True)

一旦渲染了对象,尝试点击它并按r键!这会打开“往返模式”,并为可视化中的每个类型添加限定名称,使识别对象中的类型更容易。

有关如何使用Treescope的更多信息,请参阅Treescope文档

寻找具有一流Treescope可视化功能支持的神经网络库?尝试Penzai

引用

如果您认为Treescope对您的研究很有用,请考虑引用以下内容(也可在arXiv上找到)

@article{johnson2024penzai,
    author={Daniel D. Johnson},
    title={{Penzai} + {Treescope}: A Toolkit for Interpreting, Visualizing, and Editing Models As Data},
    year={2024},
    journal={ICML 2024 Workshop on Mechanistic Interpretability}
}

这不是一个官方支持的Google产品。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

treescope-0.1.5.tar.gz (405.1 kB 查看哈希值)

上传时间

构建分布

treescope-0.1.5-py3-none-any.whl (174.2 kB 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面