kiwi@Delphi ~/Documents/Code % git clone https://github.com/D-Ogi/WatermarkRemover-AI.git
Cloning into 'WatermarkRemover-AI'...
remote: Enumerating objects: 185, done.
remote: Counting objects: 100% (60/60), done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 185 (delta 45), reused 29 (delta 29), pack-reused 125 (from 2)
Receiving objects: 100% (185/185), 9.18 MiB | 314.00 KiB/s, done.
Resolving deltas: 100% (71/71), done.
kiwi@Delphi ~/Documents/Code % cd WatermarkRemover-AI
kiwi@Delphi ~/Documents/Code/WatermarkRemover-AI % chmod +x setup.sh
kiwi@Delphi ~/Documents/Code/WatermarkRemover-AI % ./setup.sh
=============================================
WatermarkRemover-AI Setup (Linux/macOS)
=============================================
[?] Are you in China? (y/n)
This will use faster mirrors for downloads
y
[OK] Using China mirrors (Tsinghua PyPI + HF-Mirror)
[*] Detected macOS
[OK] Found python3.12 (version 3.12)
[*] Creating virtual environment...
[OK] Virtual environment created
[*] Upgrading pip...
[*] Installing PyTorch...
[OK] PyTorch installed (MPS support on Apple Silicon)
[*] Installing other dependencies...
[*] Installing iopaint...
[*] Installing iopaint dependencies...
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
iopaint 1.6.0 requires accelerate, which is not installed.
iopaint 1.6.0 requires controlnet-aux==0.0.3, which is not installed.
iopaint 1.6.0 requires fastapi==0.108.0, which is not installed.
iopaint 1.6.0 requires gradio==4.21.0, which is not installed.
iopaint 1.6.0 requires opencv-python, which is not installed.
iopaint 1.6.0 requires peft==0.7.1, which is not installed.
iopaint 1.6.0 requires piexif==1.1.3, which is not installed.
iopaint 1.6.0 requires python-multipart, which is not installed.
iopaint 1.6.0 requires python-socketio==5.7.2, which is not installed.
iopaint 1.6.0 requires typer-config==1.4.0, which is not installed.
iopaint 1.6.0 requires uvicorn, which is not installed.
iopaint 1.6.0 requires diffusers==0.27.2, but you have diffusers 0.37.0 which is incompatible.
iopaint 1.6.0 requires huggingface-hub==0.25.2, but you have huggingface-hub 1.7.2 which is incompatible.
iopaint 1.6.0 requires Pillow==9.5.0, but you have pillow 12.1.1 which is incompatible.
[OK] Dependencies installed
[*] Downloading LaMA model (~196MB)...
[OK] LaMA model already exists
[*] Downloading Florence-2 model (~1.5GB)...
Using HF-Mirror for faster download in China
/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/huggingface_hub/utils/_validators.py:206: UserWarning: The `local_dir_use_symlinks` argument is deprecated and ignored in `snapshot_download`. Downloading to a local directory does not use symlinks anymore.
warnings.warn(
Fetching 13 files: 100%|█████████████████████████████████████████████████████████████| 13/13 [00:00<00:00, 213827.26it/s]
Download complete: : 0.00B [00:00, ?B/s] | 0/13 [00:00<?, ?it/s]
=============================================
Setup complete!
=============================================
To run the app:
source venv/bin/activate
python remwmgui.py
Or for CLI:
source venv/bin/activate
python remwm.py input.png output/
Launch now? (y/n) n
kiwi@Delphi ~/Documents/Code/WatermarkRemover-AI % source venv/bin/activate
((venv) ) kiwi@Delphi ~/Documents/Code/WatermarkRemover-AI % python remwm.py ~/Desktop/input.jpeg ~/Desktop/output/
/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/iopaint/model/ldm.py:279: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.
@torch.cuda.amp.autocast()
Using device: cpu
Loading weights: 100%|███████████████████████████████████████████████████████████████| 917/917 [00:00<00:00, 6005.63it/s]
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
The image processor of type `CLIPImageProcessor` is now loaded as a fast processor by default, even if the model checkpoint was saved with a slow processor. This is a breaking change and may produce slightly different outputs. To continue using the slow processor, instantiate this class with `use_fast=False`.
2026-03-21 22:20:27.528 | INFO | __main__:main:663 - Florence-2 Model loaded
2026-03-21 22:20:27.533 | INFO | iopaint.model_manager:init_model:47 - Loading model: lama
2026-03-21 22:20:27.533 | INFO | iopaint.helper:load_jit_model:107 - Loading model from: /Users/kiwi/.cache/torch/hub/checkpoints/big-lama.pt
2026-03-21 22:20:27.830 | INFO | __main__:main:667 - LaMa model loaded
The following generation flags are not valid and may be ignored: ['early_stopping']. Set `TRANSFORMERS_VERBOSITY=info` for more details.
Traceback (most recent call last):
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/remwm.py", line 705, in <module>
main()
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/click/core.py", line 1485, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/remwm.py", line 701, in main
handle_one(input_path, output_file, florence_model, florence_processor, model_manager, device, transparent, max_bbox_percent, force_format, overwrite, detection_prompt, detection_skip, fade_in, fade_out)
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/remwm.py", line 525, in handle_one
mask_image = get_watermark_mask(image, florence_model, florence_processor, device, max_bbox_percent, detection_prompt)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/remwm.py", line 107, in get_watermark_mask
parsed_answer = identify(task_prompt, image, detection_prompt, model, processor, device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/remwm.py", line 82, in identify
generated_ids = model.generate(
^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/generation/utils.py", line 2438, in generate
model_kwargs = self._prepare_encoder_decoder_kwargs_for_generation(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/models/florence2/modeling_florence2.py", line 1025, in _prepare_encoder_decoder_kwargs_for_generation
image_features = self.get_image_features(pixel_values, return_dict=True).pooler_output
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/models/florence2/modeling_florence2.py", line 859, in get_image_features
return self.model.get_image_features(pixel_values=pixel_values, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/utils/generic.py", line 843, in wrapper
output = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/models/florence2/modeling_florence2.py", line 697, in get_image_features
image_outputs = self.vision_tower(pixel_values, return_dict=True, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/utils/generic.py", line 917, in wrapper
output = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/utils/output_capturing.py", line 253, in wrapper
outputs = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/models/florence2/modeling_florence2.py", line 562, in forward
hidden_states = conv(hidden_states)
^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/transformers/models/florence2/modeling_florence2.py", line 191, in forward
hidden_states = self.conv(hidden_states)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/conv.py", line 553, in forward
return self._conv_forward(input, self.weight, self.bias)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kiwi/Documents/Code/WatermarkRemover-AI/venv/lib/python3.12/site-packages/torch/nn/modules/conv.py", line 548, in _conv_forward
return F.conv2d(
^^^^^^^^^
RuntimeError: Input type (float) and bias type (c10::Half) should be the same
I can't run it, the output below: