google-deepmind / google-deepmind/treescope

FR: Dimension dependent axis-item labels for treescope.render_array

Open
#3 2 comments 0 reactions 0 assignees View on GitHub
feature-request
Dominant language
Python
Stars
474
Forks
28
PR merge metrics
No merged PRs in 30d

Description

Currently, the axis-item labels for an array cannot depend on multiple dimensions, but sometimes the meaning of an axis depends on another dimension that is sliced into.

This interpretation should be coherent so long as the axis-item labels named array is a subset of the array to be rendered.

In general, it would be great if `axis_item_labels` could accept Penzai named arrays/Jax arrays (and internally cast each to a list or equivalent so the object is json-serializable).

```python
import treescope
from penzai import pz

# dimension-dependent axis-item labels:
# should render different labels for each slice of `offset`
axis_item_labels = pz.nx.ones({"x": 10}) * pz.nx.arange("y", 10) + pz.nx.arange("offset", 3)
treescope.render_array(pz.nx.ones({"offset": 3, "x": 10, "y": 10}), axis_item_labels=axis_item_labels)

# item labels for x and y:
treescope.render_array(pz.nx.ones({"x": 10, "y": 10}), axis_item_labels=[pz.nx.arange("x", 10), pz.nx.arange("y", 10)])
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.