diff --git a/docs/features/OUTPAINTING.md b/docs/features/OUTPAINTING.md index 122c732605..185e8cd2c8 100644 --- a/docs/features/OUTPAINTING.md +++ b/docs/features/OUTPAINTING.md @@ -111,7 +111,7 @@ A number of caveats: the border. 4. When using the `inpaint-1.5` model, you may notice subtle changes to the area - within the original image. This is because the model performs an + outside the masked region. This is because the model performs an encoding/decoding on the image as a whole. This does not occur with the standard model. diff --git a/docs/installation/INSTALL_DOCKER.md b/docs/installation/INSTALL_DOCKER.md index 50c3d89c81..dc8d886980 100644 --- a/docs/installation/INSTALL_DOCKER.md +++ b/docs/installation/INSTALL_DOCKER.md @@ -70,7 +70,7 @@ Some Suggestions of variables you may want to change besides the Token: | `HUGGINGFACE_TOKEN="hg_aewirhghlawrgkjbarug2"` | This is the only required variable, without you can't get the checkpoint | | `ARCH=aarch64` | if you are using a ARM based CPU | | `INVOKEAI_TAG=yourname/invokeai:latest` | the Container Repository / Tag which will be used | -| `INVOKEAI_CONDA_ENV_FILE=environment-linux-aarch64.yml` | since environment.yml wouldn't work with aarch | +| `INVOKEAI_CONDA_ENV_FILE=environments/environment-linux-aarch64.yml`| since environment.yml wouldn't work with aarch | | `INVOKEAI_GIT="-b branchname https://github.com/username/reponame"` | if you want to use your own fork | #### Build the Image diff --git a/docs/installation/INSTALL_LINUX.md b/docs/installation/INSTALL_LINUX.md index 0bbfd8cda0..971d9ed169 100644 --- a/docs/installation/INSTALL_LINUX.md +++ b/docs/installation/INSTALL_LINUX.md @@ -42,14 +42,25 @@ title: Manual Installation, Linux ``` 5. Use anaconda to copy necessary python packages, create a new python - environment named `invokeai` and activate the environment. + environment named `invokeai` and then activate the environment. - ```bash - (base) rm -rf src # (this is a precaution in case there is already a src directory) - (base) ~/InvokeAI$ conda env create - (base) ~/InvokeAI$ conda activate invokeai - (invokeai) ~/InvokeAI$ - ``` + !!! todo "For systems with a CUDA (Nvidia) card:" + + ```bash + (base) rm -rf src # (this is a precaution in case there is already a src directory) + (base) ~/InvokeAI$ conda env create -f environments/environment-cuda.yml + (base) ~/InvokeAI$ conda activate invokeai + (invokeai) ~/InvokeAI$ + ``` + + !!! todo "For systems with an AMD card (using ROCm driver):" + + ```bash + (base) rm -rf src # (this is a precaution in case there is already a src directory) + (base) ~/InvokeAI$ conda env create -f environments/environment-rocm.yml + (base) ~/InvokeAI$ conda activate invokeai + (invokeai) ~/InvokeAI$ + ``` After these steps, your command prompt will be prefixed by `(invokeai)` as shown above. diff --git a/docs/installation/INSTALL_WINDOWS.md b/docs/installation/INSTALL_WINDOWS.md index bab02cd261..4cd670679c 100644 --- a/docs/installation/INSTALL_WINDOWS.md +++ b/docs/installation/INSTALL_WINDOWS.md @@ -52,23 +52,29 @@ in the wiki cd InvokeAI ``` -6. Run the following two commands: +6. Run the following commands: - ```batch title="step 6a" - conda env create - ``` + !!! todo "For systems with a CUDA (Nvidia) card:" - ```batch title="step 6b" - conda activate invokeai - ``` + ```bash + rmdir src # (this is a precaution in case there is already a src directory) + conda env create -f environments/environment-cuda.yml + conda activate invokeai + (invokeai)> + ``` + + !!! todo "For systems with an AMD card (using ROCm driver):" + + ```bash + rmdir src # (this is a precaution in case there is already a src directory) + conda env create -f environments/environment-rocm.yml + conda activate invokeai + (invokeai)> + ``` This will install all python requirements and activate the "invokeai" environment which sets PATH and other environment variables properly. - Note that the long form of the first command is `conda env create -f environment.yml`. If the - environment file isn't specified, conda will default to `environment.yml`. You will need - to provide the `-f` option if you wish to load a different environment file at any point. - 7. Load the big stable diffusion weights files and a couple of smaller machine-learning models: ```bash diff --git a/environment.yml b/environments/environment-cuda.yml similarity index 64% rename from environment.yml rename to environments/environment-cuda.yml index fc648e8262..617f1a16d4 100644 --- a/environment.yml +++ b/environments/environment-cuda.yml @@ -13,33 +13,33 @@ dependencies: - cudatoolkit=11.6 - pip: - albumentations==0.4.3 - - opencv-python==4.5.5.64 - - pudb==2019.2 - - imageio==2.9.0 - - imageio-ffmpeg==0.4.2 - - pytorch-lightning==1.7.7 - - omegaconf==2.2.3 - - test-tube>=0.7.5 - - streamlit==1.12.0 - - send2trash==1.8.0 - - pillow==9.2.0 - - einops==0.3.0 - - pyreadline3 - - torch-fidelity==0.3.0 - - transformers==4.21.3 - - diffusers==0.6.0 - - torchmetrics==0.7.0 - - flask==2.1.3 - - flask_socketio==5.3.0 - - flask_cors==3.0.10 - dependency_injector==4.40.0 + - diffusers==0.6.0 + - einops==0.3.0 - eventlet + - flask==2.1.3 + - flask_cors==3.0.10 + - flask_socketio==5.3.0 - getpass_asterisk + - imageio-ffmpeg==0.4.2 + - imageio==2.9.0 - kornia==0.6.0 - - -e git+https://github.com/openai/CLIP.git@main#egg=clip - - -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers - - -e git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion - - -e git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan - - -e git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan - - -e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg + - omegaconf==2.2.3 + - opencv-python==4.5.5.64 + - pillow==9.2.0 + - pudb==2019.2 + - pyreadline3 + - pytorch-lightning==1.7.7 + - send2trash==1.8.0 + - streamlit==1.12.0 + - taming-transformers-rom1504 + - test-tube>=0.7.5 + - torch-fidelity==0.3.0 + - torchmetrics==0.7.0 + - transformers==4.21.3 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan + - git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan + - git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg - -e . diff --git a/environment-linux-aarch64.yml b/environments/environment-linux-aarch64.yml similarity index 100% rename from environment-linux-aarch64.yml rename to environments/environment-linux-aarch64.yml diff --git a/environment-mac.yml b/environments/environment-mac.yml similarity index 100% rename from environment-mac.yml rename to environments/environment-mac.yml diff --git a/environments/environment-rocm.yml b/environments/environment-rocm.yml new file mode 100644 index 0000000000..8b5fb07e55 --- /dev/null +++ b/environments/environment-rocm.yml @@ -0,0 +1,45 @@ +name: invokeai +channels: + - pytorch + - conda-forge + - defaults +dependencies: + - python>=3.9 + - pip=22.2.2 + - numpy=1.23.3 + - pip: + - --extra-index-url https://download.pytorch.org/whl/rocm5.2/ + - albumentations==0.4.3 + - dependency_injector==4.40.0 + - diffusers==0.6.0 + - einops==0.3.0 + - eventlet + - flask==2.1.3 + - flask_cors==3.0.10 + - flask_socketio==5.3.0 + - getpass_asterisk + - imageio-ffmpeg==0.4.2 + - imageio==2.9.0 + - kornia==0.6.0 + - omegaconf==2.2.3 + - opencv-python==4.5.5.64 + - pillow==9.2.0 + - pudb==2019.2 + - pyreadline3 + - pytorch-lightning==1.7.7 + - send2trash==1.8.0 + - streamlit==1.12.0 + - taming-transformers-rom1504 + - test-tube>=0.7.5 + - torch + - torch-fidelity==0.3.0 + - torchaudio + - torchmetrics==0.7.0 + - torchvision + - transformers==4.21.3 + - git+https://github.com/openai/CLIP.git@main#egg=clip + - git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion + - git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan + - git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan + - git+https://github.com/invoke-ai/clipseg.git@relaxed-python-requirement#egg=clipseg + - -e . diff --git a/requirements-lin-AMD.txt b/environments/requirements-lin-AMD.txt similarity index 100% rename from requirements-lin-AMD.txt rename to environments/requirements-lin-AMD.txt diff --git a/requirements-lin-win-colab-CUDA.txt b/environments/requirements-lin-win-colab-CUDA.txt similarity index 100% rename from requirements-lin-win-colab-CUDA.txt rename to environments/requirements-lin-win-colab-CUDA.txt diff --git a/requirements-linux-arm64.txt b/environments/requirements-linux-arm64.txt similarity index 57% rename from requirements-linux-arm64.txt rename to environments/requirements-linux-arm64.txt index a0be77057b..1e4bd62a6e 100644 --- a/requirements-linux-arm64.txt +++ b/environments/requirements-linux-arm64.txt @@ -15,13 +15,13 @@ torch==1.12.1 torchvision==0.13.0 pytorch-lightning==1.7.7 streamlit==1.12.0 +taming-transformers-rom1504 test-tube>=0.7.5 torch-fidelity==0.3.0 torchmetrics==0.6.0 transformers==4.21.3 --e git+https://github.com/openai/CLIP.git@main#egg=clip --e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers --e git+https://github.com/lstein/k-diffusion.git@master#egg=k-diffusion --e git+https://github.com/TencentARC/GFPGAN.git#egg=gfpgan --e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg +git+https://github.com/openai/CLIP.git@main#egg=clip +git+https://github.com/lstein/k-diffusion.git@master#egg=k-diffusion +git+https://github.com/TencentARC/GFPGAN.git#egg=gfpgan +git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg -e . diff --git a/requirements-mac-MPS-CPU.txt b/environments/requirements-mac-MPS-CPU.txt similarity index 100% rename from requirements-mac-MPS-CPU.txt rename to environments/requirements-mac-MPS-CPU.txt diff --git a/requirements-mkdocs.txt b/environments/requirements-mkdocs.txt similarity index 100% rename from requirements-mkdocs.txt rename to environments/requirements-mkdocs.txt diff --git a/environments/requirements-rocm.txt b/environments/requirements-rocm.txt new file mode 100644 index 0000000000..190417aaa0 --- /dev/null +++ b/environments/requirements-rocm.txt @@ -0,0 +1,6 @@ +-r requirements.txt + +protobuf==3.19.6 +torch<1.13.0 +torchvision<0.14.0 +-e . diff --git a/requirements.txt b/environments/requirements.txt similarity index 82% rename from requirements.txt rename to environments/requirements.txt index 939463e36e..6f80d902d3 100644 --- a/requirements.txt +++ b/environments/requirements.txt @@ -1,41 +1,39 @@ --prefer-binary +# pip will resolve the version which matches torch albumentations +dependency_injector==4.40.0 +diffusers einops +eventlet +flask==2.1.3 +flask_cors==3.0.10 +flask_socketio==5.3.0 +flaskwebgui==0.3.7 getpass_asterisk huggingface-hub -imageio-ffmpeg imageio +imageio-ffmpeg kornia -# pip will resolve the version which matches torch numpy omegaconf opencv-python pillow pip>=22 pudb -pytorch-lightning==1.7.7 -scikit-image>=0.19 -streamlit pyreadline3 -# "CompVis/taming-transformers" IS NOT INSTALLABLE -# This is a drop-in replacement +pytorch-lightning==1.7.7 +realesrgan +scikit-image>=0.19 +send2trash +streamlit taming-transformers-rom1504 test-tube torch-fidelity torchmetrics transformers==4.21.* -flask==2.1.3 -flask_socketio==5.3.0 -flask_cors==3.0.10 -flaskwebgui==0.3.7 -send2trash -dependency_injector==4.40.0 -eventlet -realesrgan -diffusers git+https://github.com/openai/CLIP.git@main#egg=clip git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k-diffusion git+https://github.com/invoke-ai/Real-ESRGAN.git#egg=realesrgan git+https://github.com/invoke-ai/GFPGAN.git#egg=gfpgan --e git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg +git+https://github.com/invoke-ai/clipseg.git@models-rename#egg=clipseg diff --git a/pyproject.toml.hide b/pyproject.toml.hide deleted file mode 100644 index 5df66dd42b..0000000000 --- a/pyproject.toml.hide +++ /dev/null @@ -1,3 +0,0 @@ -[tool.blue] -line-length = 90 -target-version = ['py310'] diff --git a/setup.py b/setup.py index a544aa150a..0c5ddb2ae4 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='invoke-ai', - version='2.0.2', + version='2.1.3', description='', packages=find_packages(), install_requires=[