-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into dev/diffusers
- Loading branch information
Showing
7 changed files
with
81 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,114 +2,111 @@ | |
title: Installing PyPatchMatch | ||
--- | ||
|
||
# :octicons-paintbrush-16: Installing PyPatchMatch | ||
# :material-image-size-select-large: Installing PyPatchMatch | ||
|
||
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. | ||
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. | ||
Unfortunately, it is a C++ optimized module and installation can be somewhat | ||
challenging. This guide leads you through the steps. | ||
|
||
## Windows | ||
|
||
You're in luck! On Windows platforms PyPatchMatch will install | ||
automatically on Windows systems with no extra intervention. | ||
You're in luck! On Windows platforms PyPatchMatch will install automatically on | ||
Windows systems with no extra intervention. | ||
|
||
## Macintosh | ||
|
||
PyPatchMatch is not currently supported, but the team is working on | ||
it. | ||
PyPatchMatch is not currently supported, but the team is working on it. | ||
|
||
## Linux | ||
|
||
Prior to installing PyPatchMatch, you need to take the following | ||
steps: | ||
Prior to installing PyPatchMatch, you need to take the following steps: | ||
|
||
### Debian Based Distros | ||
|
||
|
||
1. Install the `build-essential` tools: | ||
|
||
``` | ||
sudo apt update | ||
sudo apt install build-essential | ||
``` | ||
```sh | ||
sudo apt update | ||
sudo apt install build-essential | ||
``` | ||
|
||
2. Install `opencv`: | ||
|
||
``` | ||
sudo apt install python3-opencv libopencv-dev | ||
``` | ||
```sh | ||
sudo apt install python3-opencv libopencv-dev | ||
``` | ||
|
||
3. Fix the naming of the `opencv` package configuration file: | ||
|
||
``` | ||
cd /usr/lib/x86_64-linux-gnu/pkgconfig/ | ||
ln -sf opencv4.pc opencv.pc | ||
``` | ||
|
||
4. Activate the environment you use for invokeai, either with | ||
`conda` or with a virtual environment. | ||
|
||
5. Do a "develop" install of pypatchmatch: | ||
|
||
``` | ||
pip install "git+https://github.com/invoke-ai/[email protected]#egg=pypatchmatch" | ||
``` | ||
|
||
6. 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 follwing: | ||
|
||
``` | ||
Python 3.9.5 (default, Nov 23 2021, 15:27:38) | ||
[GCC 9.3.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 ... | ||
``` | ||
|
||
```sh | ||
cd /usr/lib/x86_64-linux-gnu/pkgconfig/ | ||
ln -sf opencv4.pc opencv.pc | ||
``` | ||
|
||
4. Activate the environment you use for invokeai, either with `conda` or with a | ||
virtual environment. | ||
|
||
5. Install pypatchmatch: | ||
|
||
```sh | ||
pip install "git+https://github.com/invoke-ai/[email protected]#egg=pypatchmatch" | ||
``` | ||
|
||
6. 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 follwing: | ||
|
||
```py | ||
Python 3.9.5 (default, Nov 23 2021, 15:27:38) | ||
[GCC 9.3.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 ... | ||
``` | ||
|
||
### Arch Based Distros | ||
|
||
1. Install the `base-devel` package: | ||
``` | ||
sudo pacman -Syu | ||
sudo pacman -S --needed base-devel | ||
``` | ||
|
||
```sh | ||
sudo pacman -Syu | ||
sudo pacman -S --needed base-devel | ||
``` | ||
|
||
2. Install `opencv`: | ||
``` | ||
sudo pacman -S opencv | ||
``` | ||
or for CUDA support | ||
``` | ||
sudo pacman -S opencv-cuda | ||
``` | ||
|
||
3. Fix the naming of the `opencv` package configuration file: | ||
``` | ||
cd /usr/lib/pkgconfig/ | ||
ln -sf opencv4.pc opencv.pc | ||
``` | ||
```sh | ||
sudo pacman -S opencv | ||
``` | ||
|
||
**Next, Follow Steps 4-6 from the Debian Section above** | ||
or for CUDA support | ||
|
||
```sh | ||
sudo pacman -S opencv-cuda | ||
``` | ||
|
||
If you see no errors, then you're ready to go! | ||
3. Fix the naming of the `opencv` package configuration file: | ||
|
||
```sh | ||
cd /usr/lib/pkgconfig/ | ||
ln -sf opencv4.pc opencv.pc | ||
``` | ||
|
||
[**Next, Follow Steps 4-6 from the Debian Section above**](#linux) | ||
|
||
If you see no errors, then you're ready to go! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
__app_id__= 'invoke-ai/InvokeAI' | ||
__app_name__= 'InvokeAI' | ||
__version__='2.2.4' | ||
__version__='2.2.5' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters