Fooocus/ldm_patched
Dan Black 19c57f65b9
Fix M series Mac bug
Fooocus inpainting on Mac M series inconsistently produces a bug in sizing/reshaping, this fix was found in ComfyUI repo comments but contains the same core to fix. 

Here's the error 
```
Upscaling image with shape (712, 781, 3) ...
Traceback (most recent call last):
  File "/Users/danielblack/Code/Fooocus/modules/async_worker.py", line 1471, in worker
    handler(task)
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/modules/async_worker.py", line 1193, in handler
    denoising_strength, initial_latent, width, height, current_progress = apply_inpaint(async_task,
                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/modules/async_worker.py", line 486, in apply_inpaint
    inpaint_worker.current_task = inpaint_worker.InpaintWorker(
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/modules/inpaint_worker.py", line 162, in __init__
    self.interested_image = perform_upscale(self.interested_image)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/modules/upscaler.py", line 30, in perform_upscale
    img = opImageUpscaleWithModel.upscale(model, img)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/ldm_patched/contrib/external_upscale_model.py", line 54, in upscale
    s = ldm_patched.modules.utils.tiled_scale(in_img, lambda a: upscale_model(a), tile_x=tile, tile_y=tile, overlap=overlap, upscale_amount=upscale_model.scale, pbar=pbar)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/ldm_patched/modules/utils.py", line 418, in tiled_scale
    ps = function(s_in).to(output_device)
         ^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/ldm_patched/contrib/external_upscale_model.py", line 54, in <lambda>
    s = ldm_patched.modules.utils.tiled_scale(in_img, lambda a: upscale_model(a), tile_x=tile, tile_y=tile, overlap=overlap, upscale_amount=upscale_model.scale, pbar=pbar)
                                                                ^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1740, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1751, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/Code/Fooocus/ldm_patched/pfn/architecture/RRDB.py", line 296, in forward
    return x[:, :, : h * self.scale, : w * self.scale]
       ^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1740, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1751, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/container.py", line 250, in forward
    input = module(input)
            ^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1740, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1751, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/conv.py", line 554, in forward
    return self._conv_forward(input, self.weight, self.bias)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/danielblack/miniconda3/lib/python3.12/site-packages/torch/nn/modules/conv.py", line 549, in _conv_forward
    return F.conv2d(
           ^^^^^^^^^
RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.
```

Explanation here
https://github.com/comfyanonymous/ComfyUI/issues/5075#issuecomment-2451867268
2025-02-11 13:10:00 -05:00
..
contrib feat: add support for playground v2.5 (#3073) 2024-06-04 20:15:49 +02:00
controlnet 2.1.826 2023-12-12 11:38:05 -08:00
k_diffusion feat: add restart sampler (#3219) 2024-07-01 14:24:21 +02:00
ldm Use weights_only for loading (#3427) 2024-08-03 12:33:01 +02:00
licenses-3rd backend 2024-01-27 05:12:34 -08:00
modules Use weights_only for loading (#3427) 2024-08-03 12:33:01 +02:00
pfn Fix M series Mac bug 2025-02-11 13:10:00 -05:00
t2ia 2.1.826 2023-12-12 11:38:05 -08:00
taesd (requested) support AMD 8GB GPUs via Windows DirectML 2023-12-30 06:30:59 -08:00
unipc 2.1.826 2023-12-12 11:38:05 -08:00
utils backend 2024-01-27 05:12:34 -08:00