bc26fdd5de72dbbdd2ad296b295e58235b50df4e
Modifications to make it work on Apple Silicon devices: 1. Modified the load() method to handle loading the model weights based on the selected device (CPU, MPS, or CUDA). The map_location parameter is set accordingly to ensure the weights are loaded onto the correct device. 2. Updated the INPUT_TYPES() method to correctly define the available device options based on the availability of MPS and CUDA devices. 3. In the matting() method, added a step to move the model to the selected device (self.model.to(device)) before performing the forward pass. This ensures that both the input tensor and the model weights are on the same device, avoiding device mismatch errors. These changes address the issues related to loading the pre-trained model weights on different devices (CPU, MPS, or CUDA) and ensure that the BiRefNet node works correctly on various hardware configurations, including MacBook Pro M2 with MPS. The modifications improve the compatibility and robustness of the code, allowing users to run the BiRefNet node seamlessly on their specific hardware setup without encountering errors related to device mismatches or unsupported CUDA operations.
ComfyUI-BiRefNet
Introduction
Bilateral Reference Network achieves SOTA result in multi Salient Object Segmentation dataset, this repo pack BiRefNet as ComfyUI nodes, and make this SOTA model easier use for everyone.
Installation
- Go to comfyUI custom_nodes folder,
ComfyUI/custom_nodes/ git clone https://github.com/viperyl/ComfyUI-BiRefNet.gitpip install requirements.txt
Checkpoints Download
Make sure you have intall git lfs
- go to comfyUI models folder,
ComfyUI/models/ git clone https://huggingface.co/ViperYX/BiRefNet
Usage
The demo workflow placed in workflow/example_workflow.json
Sample Result
Acknowledgments
Thanks to BiRefNet repo owner ZhengPeng7/BiRefNet: Bilateral Reference for High-Resolution Dichotomous Image Segmentation (github.com)
Languages
Python
98.2%
Jupyter Notebook
1.8%



