121 lines
3.9 KiB
Markdown
121 lines
3.9 KiB
Markdown
# Display Any
|
|
|
|
The Display Any node is a debugging and inspection tool that can display any type of input value in ComfyUI. It's particularly useful for understanding data structures and tensor shapes during workflow development.
|
|
|
|
## Features
|
|
|
|
- **Universal Input**: Accepts any type of input data (tensors, strings, numbers, lists, dictionaries, etc.)
|
|
- **Two Display Modes**:
|
|
- **Raw Value**: Shows the string representation of the input
|
|
- **Tensor Shape**: Extracts and displays the shapes of any tensors found in the input
|
|
- **Nested Structure Support**: Can find tensors within nested dictionaries and lists
|
|
- **UI Output**: Displays results directly in the ComfyUI interface
|
|
|
|
## Inputs
|
|
|
|
- **input** (*): Any value you want to display or inspect
|
|
- **mode** (DROPDOWN): Display mode selection
|
|
- `raw value`: Shows the complete string representation of the input
|
|
- `tensor shape`: Extracts and shows shapes of any tensors in the input
|
|
|
|
## Outputs
|
|
|
|
- **display_text** (STRING): The formatted display text
|
|
|
|
## Usage Examples
|
|
|
|
### 1. Display Simple Values
|
|
|
|
Connect any output to see its raw value:
|
|
```
|
|
String Input: "Hello, ComfyUI!"
|
|
Mode: raw value
|
|
Output: "Hello, ComfyUI!"
|
|
```
|
|
|
|
### 2. Inspect Tensor Shapes
|
|
|
|
Great for debugging image processing pipelines:
|
|
```
|
|
Image Tensor: [1, 3, 512, 512]
|
|
Mode: tensor shape
|
|
Output: "[[1, 3, 512, 512]]"
|
|
```
|
|
|
|
### 3. Debug Complex Data Structures
|
|
|
|
View nested data structures with multiple tensors:
|
|
```python
|
|
Input: {
|
|
"images": tensor([1, 3, 256, 256]),
|
|
"masks": [tensor([256, 256]), tensor([256, 256, 1])],
|
|
"config": {"steps": 20}
|
|
}
|
|
Mode: tensor shape
|
|
Output: "[[1, 3, 256, 256], [256, 256], [256, 256, 1]]"
|
|
```
|
|
|
|
### 4. Workflow Debugging
|
|
|
|
Use Display Any nodes at various points in your workflow to understand data flow:
|
|
- After loading images to verify dimensions
|
|
- Before/after processing nodes to track shape changes
|
|
- To inspect conditioning or latent data structures
|
|
- To view metadata or configuration dictionaries
|
|
|
|
## Use Cases
|
|
|
|
### Image Pipeline Debugging
|
|
Place Display Any nodes after image loading and processing nodes to track dimension changes:
|
|
```
|
|
Load Image → Display Any (tensor shape) → Resize → Display Any (tensor shape)
|
|
```
|
|
|
|
### Latent Space Inspection
|
|
Understand latent dimensions in your workflows:
|
|
```
|
|
VAE Encode → Display Any (tensor shape) → KSampler → Display Any (raw value)
|
|
```
|
|
|
|
### Configuration Verification
|
|
Display complex configuration objects to ensure correct settings:
|
|
```
|
|
Config Node → Display Any (raw value) → Processing Node
|
|
```
|
|
|
|
## Tips
|
|
|
|
1. **Multiple Display Nodes**: You can use multiple Display Any nodes in a single workflow to track data at different stages
|
|
|
|
2. **Tensor Shape Mode**: Particularly useful when working with:
|
|
- Image batches to verify batch size
|
|
- Latent tensors to understand dimensions
|
|
- Mask arrays to check compatibility
|
|
|
|
3. **Raw Value Mode**: Best for:
|
|
- String prompts and text
|
|
- Configuration dictionaries
|
|
- Debugging node outputs
|
|
- Understanding data structure
|
|
|
|
4. **No Tensors Found**: If you see "No tensors found in input" in tensor shape mode, the input doesn't contain any tensor-like objects (numpy arrays, torch tensors, etc.)
|
|
|
|
## Technical Notes
|
|
|
|
- The node uses `str()` for raw value display, providing Python's string representation
|
|
- Tensor shape detection works with any object that has a `shape` attribute
|
|
- Nested structure traversal supports dictionaries, lists, and tuples
|
|
- The output is both displayed in the UI and available as a string output for further processing
|
|
|
|
## Example Workflow Integration
|
|
|
|
```
|
|
[Load Image] → [Image Processing] → [Display Any (tensor shape)]
|
|
↓
|
|
"[[1, 3, 512, 512]]"
|
|
↓
|
|
[Text Multiline] ← [Concatenate] ← "Image dimensions: "
|
|
```
|
|
|
|
This creates a text output showing the current image dimensions that can be used elsewhere in your workflow.
|