pypatchmatch is a Python module for inpainting images. It is not needed to run InvokeAI, but it greatly improves the quality of inpainting and outpainting and is recommended.
Unfortunately, it is a C++ optimized module and installation can be somewhat challenging. This guide leads you through the steps.
You’re in luck! On Windows platforms PyPatchMatch will install automatically on Windows systems with no extra intervention.
You need to have opencv installed so that pypatchmatch can be built:
brew install opencv
The next time you start invoke
, after successfully installing opencv, pypatchmatch will be built.
Prior to installing PyPatchMatch, you need to take the following steps:
Install the build-essential
tools:
sudo apt update
sudo apt install build-essential
Install opencv
:
sudo apt install python3-opencv libopencv-dev
Activate the environment you use for invokeai, either with conda
or with a
virtual environment.
Install pypatchmatch:
pip install pypatchmatch
Confirm that pypatchmatch is installed. At the command-line prompt enter
python
, and then at the >>>
line type
from patchmatch import patch_match
: It should look like the following:
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from patchmatch import patch_match
Compiling and loading c extensions from "/home/lstein/Projects/InvokeAI/.invokeai-env/src/pypatchmatch/patchmatch".
rm -rf build/obj libpatchmatch.so
mkdir: created directory 'build/obj'
mkdir: created directory 'build/obj/csrc/'
[dep] csrc/masked_image.cpp ...
[dep] csrc/nnf.cpp ...
[dep] csrc/inpaint.cpp ...
[dep] csrc/pyinterface.cpp ...
[CC] csrc/pyinterface.cpp ...
[CC] csrc/inpaint.cpp ...
[CC] csrc/nnf.cpp ...
[CC] csrc/masked_image.cpp ...
[link] libpatchmatch.so ...
Install the base-devel
package:
sudo pacman -Syu
sudo pacman -S --needed base-devel
Install opencv
and blas
:
sudo pacman -S opencv blas
or for CUDA support
sudo pacman -S opencv-cuda blas
Fix the naming of the opencv
package configuration file:
cd /usr/lib/pkgconfig/
ln -sf opencv4.pc opencv.pc
Next, Follow Steps 4-6 from the Debian Section above
If you see no errors you’re ready to go!