Lens Inspect
Open a concept lens and see what's actually inside it
- chart
- summary
A concept lens looks like a black box - a .pt file that makes images more "vintage." Lens Inspect is the tool that opens it up. Pick a lens from the dropdown and it renders a multi-panel visualization of the lens's internal structure: weight distribution, top direction components, SAE feature breakdown (if it's an SAE-trained lens), and training metadata. Plus a text summary alongside. It's the "trust but verify" node for everything the pack makes.
How it works
Concept lenses in this pack are direction vectors, but not all directions are equal. Contrastive lenses are opaque - a unit vector in 2560d whose structure is "just numbers" beyond a few top components. SAE lenses are different: they carry metadata recording which sparse features built the direction and with what weights. Lens Inspect reads the file, separates the direction from the metadata, and visualizes both. So you get the weight distribution and top principal components for every lens, plus the SAE feature breakdown and training info for lenses that have it.
That distinction matters more than it sounds. The README is upfront that contrastive lenses "are opaque direction vectors," while "SAE lenses record which sparse features they use." Inspect is how you actually see whether your lens is the "built from 30 identifiable features" kind or the "opaque optimized direction" kind - and for SAE lenses, the feature indices it shows can be fed into Feature Probe to verify what the lens is really steering toward.
The inputs that matter
- lens - dropdown of everything in
lenses/. - custom_lens_path - absolute path override, useful for lenses outside the standard directory or a just-trained one you haven't restarted for.
Outputs: chart (IMAGE, the multi-panel visualization) and summary (STRING, the text report). Both are meant to be eyeballed - this is an output/debug node, is_output_node true, nothing downstream feeds off it.
Installing
Pack-standard: ComfyUI Manager search "Concept Steer", or git clone https://github.com/Nynxz/ComfyUI-ConceptSteer into custom_nodes/ and restart. Cheap to run - it just reads lens files, no encoder load, no VRAM pressure. The only requirement is a lens to inspect, which means you've run at least one training node or the lens_factory.py CLI first.
Common gotchas
- Empty dropdown again. Lens Inspect only sees
lenses/after a restart picks up new files, same as the Concept Steer dropdown. Generate lenses, restart, then inspect. - An SAE lens without the SAE is still just a direction. The metadata lists feature indices, but the meaning of those indices lives in the Feature Dictionary. Inspect shows you the recipe; it doesn't taste-test it. Pair it with Feature Probe for the actual ground truth of what the lens does.
- Contrastive lenses will look "boring." No feature breakdown, just a direction and top components. That's expected, not a bug - it's the documented trade-off for the fast training path.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| lens | COMBO | None | Select a concept lens to inspect |
| custom_lens_path | STRING | Override: absolute path to a .pt lens file |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| chart | IMAGE | — |
| summary | STRING | — |