Skip to content

Conversation

@wzyfromhust
Copy link

Problem

All three Human Parser nodes (ATR, LIP, Pascal) had a critical batch processing bug:

  • When using "Load Image Batch From Dir" to load multiple images, only the first image was processed
  • All images in the batch received the same parsing result (from image[0])
  • This made batch processing completely unusable

Root Cause

The nodes used generate(image[0], ...) which forced processing of only the first image in the batch, ignoring all subsequent images.

Solution

Modified all three nodes to properly iterate over the batch:

  • Process each image individually: for index in range(len(image))
  • Collect results in lists: ret_masks.append(...) and ret_maps.append(...)
  • Concatenate outputs: torch.cat(ret_masks, dim=0)

Files Changed

  • HumanParserATRCustomNode.py
  • HumanParserLIPCustomNode.py
  • HumanParserPascalCustomNode.py
  • test_batch_fix.py (added comprehensive test suite)

Testing

✅ All tests passed:

  • Single image mode: backward compatible
  • Batch mode: each image processed correctly with unique results
  • Output shapes: correct tensor dimensions
  • Manual testing: verified with real batch workflow

This fix enables proper batch processing workflows in ComfyUI.

## Problem
All three Human Parser nodes (ATR, LIP, Pascal) had a critical batch processing bug:
- When using "Load Image Batch From Dir" to load multiple images, only the first image was processed
- All images in the batch received the same parsing result (from image[0])
- This made batch processing completely unusable

## Root Cause
The nodes used `generate(image[0], ...)` which forced processing of only the first image in the batch, ignoring all subsequent images.

## Solution
Modified all three nodes to properly iterate over the batch:
- Process each image individually: `for index in range(len(image))`
- Collect results in lists: `ret_masks.append(...)` and `ret_maps.append(...)`
- Concatenate outputs: `torch.cat(ret_masks, dim=0)`

## Files Changed
- HumanParserATRCustomNode.py
- HumanParserLIPCustomNode.py
- HumanParserPascalCustomNode.py
- test_batch_fix.py (added comprehensive test suite)

## Testing
✅ All tests passed:
- Single image mode: backward compatible
- Batch mode: each image processed correctly with unique results
- Output shapes: correct tensor dimensions
- Manual testing: verified with real batch workflow

This fix enables proper batch processing workflows in ComfyUI.
@wzyfromhust
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant