From a703f56d73fa7f9bc3dc6181c3235187027edb01 Mon Sep 17 00:00:00 2001 From: AUTOMATIC <16777216c@gmail.com> Date: Wed, 28 Sep 2022 21:38:26 +0300 Subject: [PATCH] clone k-diffusion instead of installing it via pip, and do not install its requirements.txt --- launch.py | 13 ++----------- modules/paths.py | 1 + requirements.txt | 7 +++++++ requirements_versions.txt | 9 ++++++++- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/launch.py b/launch.py index c3e99afe8..0e6b64ab2 100644 --- a/launch.py +++ b/launch.py @@ -15,11 +15,11 @@ torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.12.1+cu113 requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt") commandline_args = os.environ.get('COMMANDLINE_ARGS', "") -k_diffusion_package = os.environ.get('K_DIFFUSION_PACKAGE', "git+https://github.com/crowsonkb/k-diffusion.git@9e3002b7cd64df7870e08527b7664eb2f2f5f3f5") gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379") stable_diffusion_commit_hash = os.environ.get('STABLE_DIFFUSION_COMMIT_HASH', "69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc") taming_transformers_commit_hash = os.environ.get('TAMING_TRANSFORMERS_COMMIT_HASH', "24268930bf1dce879235a7fddd0b2355b84d7ea6") +k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "9e3002b7cd64df7870e08527b7664eb2f2f5f3f5") codeformer_commit_hash = os.environ.get('CODEFORMER_COMMIT_HASH', "c5b4593074ba6214284d6acd5f1719b6c5d739af") blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9") ldsr_commit_hash = os.environ.get('LDSR_COMMIT_HASH', "abf33e7002d59d9085081bce93ec798dcabd49af") @@ -110,16 +110,6 @@ if not is_installed("torch") or not is_installed("torchvision"): if not skip_torch_cuda_test: run_python("import torch; assert torch.cuda.is_available(), 'Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check'") -if not is_installed("k_diffusion.sampling"): - run_pip(f"install {k_diffusion_package}", "k-diffusion") - -if not check_run_python("import k_diffusion; import inspect; assert 'eta' in inspect.signature(k_diffusion.sampling.sample_euler_ancestral).parameters"): - print(f"k-diffusion does not have 'eta' parameter; reinstalling latest version") - try: - run_pip(f"install --upgrade --force-reinstall {k_diffusion_package}", "k-diffusion") - except RuntimeError as e: - print(str(e)) - if not is_installed("gfpgan"): run_pip(f"install {gfpgan_package}", "gfpgan") @@ -127,6 +117,7 @@ os.makedirs(dir_repos, exist_ok=True) git_clone("https://github.com/CompVis/stable-diffusion.git", repo_dir('stable-diffusion'), "Stable Diffusion", stable_diffusion_commit_hash) git_clone("https://github.com/CompVis/taming-transformers.git", repo_dir('taming-transformers'), "Taming Transformers", taming_transformers_commit_hash) +git_clone("https://github.com/crowsonkb/k-diffusion.git", repo_dir('k-diffusion'), "K-diffusion", k_diffusion_commit_hash) git_clone("https://github.com/sczhou/CodeFormer.git", repo_dir('CodeFormer'), "CodeFormer", codeformer_commit_hash) git_clone("https://github.com/salesforce/BLIP.git", repo_dir('BLIP'), "BLIP", blip_commit_hash) # Using my repo until my changes are merged, as this makes interfacing with our version of SD-web a lot easier diff --git a/modules/paths.py b/modules/paths.py index 3a19f9e5c..df7b9d9a6 100644 --- a/modules/paths.py +++ b/modules/paths.py @@ -20,6 +20,7 @@ path_dirs = [ (os.path.join(sd_path, '../CodeFormer'), 'inference_codeformer.py', 'CodeFormer'), (os.path.join(sd_path, '../BLIP'), 'models/blip.py', 'BLIP'), (os.path.join(sd_path, '../latent-diffusion'), 'LDSR.py', 'LDSR'), + (os.path.join(sd_path, '../k-diffusion'), 'k_diffusion/sampling.py', 'k_diffusion'), ] paths = {} diff --git a/requirements.txt b/requirements.txt index 089355065..ec30a5989 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,3 +18,10 @@ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e4512 timm==0.4.12 transformers torch +einops +jsonmerge +clean-fid +git+https://github.com/openai/CLIP@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 +resize-right +torchdiffeq +kornia diff --git a/requirements_versions.txt b/requirements_versions.txt index 505498e78..1e8006e05 100644 --- a/requirements_versions.txt +++ b/requirements_versions.txt @@ -14,4 +14,11 @@ fonts font-roboto timm==0.6.7 fairscale==0.4.9 -piexif==1.1.3 \ No newline at end of file +piexif==1.1.3 +einops==0.4.1 +jsonmerge==1.8.0 +clean-fid==0.1.29 +git+https://github.com/openai/CLIP@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 +resize-right==0.0.2 +torchdiffeq==0.2.3 +kornia==0.6.7