mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
install GFPGAN inside SD repository in order to fix 'dark cast' issue #169
This commit is contained in:
parent
9a29d442b4
commit
16f6a6731d
@ -35,6 +35,7 @@ dependencies:
|
|||||||
- opencv==4.6.0
|
- opencv==4.6.0
|
||||||
- pudb==2022.1
|
- pudb==2022.1
|
||||||
- pytorch-lightning==1.6.5
|
- pytorch-lightning==1.6.5
|
||||||
|
- realesrgan==0.2.5.0
|
||||||
- scipy==1.9.1
|
- scipy==1.9.1
|
||||||
- streamlit==1.12.2
|
- streamlit==1.12.2
|
||||||
- sympy==1.10.1
|
- sympy==1.10.1
|
||||||
@ -47,6 +48,7 @@ dependencies:
|
|||||||
- -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers
|
- -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers
|
||||||
- -e git+https://github.com/openai/CLIP.git@main#egg=clip
|
- -e git+https://github.com/openai/CLIP.git@main#egg=clip
|
||||||
- -e git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion
|
- -e git+https://github.com/Birch-san/k-diffusion.git@mps#egg=k_diffusion
|
||||||
|
- -e git+https://github.com/lstein/GFPGAN@fix-dark-cast-images#egg=gfpgan
|
||||||
- -e .
|
- -e .
|
||||||
variables:
|
variables:
|
||||||
PYTORCH_ENABLE_MPS_FALLBACK: 1
|
PYTORCH_ENABLE_MPS_FALLBACK: 1
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
name: ldm
|
name: sd-ldm
|
||||||
channels:
|
channels:
|
||||||
- pytorch
|
- pytorch
|
||||||
- defaults
|
- defaults
|
||||||
@ -11,7 +11,7 @@ dependencies:
|
|||||||
- numpy=1.19.2
|
- numpy=1.19.2
|
||||||
- pip:
|
- pip:
|
||||||
- albumentations==0.4.3
|
- albumentations==0.4.3
|
||||||
- opencv-python==4.1.2.30
|
- opencv-python==4.5.5.64
|
||||||
- pudb==2019.2
|
- pudb==2019.2
|
||||||
- imageio==2.9.0
|
- imageio==2.9.0
|
||||||
- imageio-ffmpeg==0.4.2
|
- imageio-ffmpeg==0.4.2
|
||||||
@ -28,4 +28,5 @@ dependencies:
|
|||||||
- -e git+https://github.com/openai/CLIP.git@main#egg=clip
|
- -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/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/lstein/k-diffusion.git@master#egg=k-diffusion
|
||||||
|
- -e git+https://github.com/lstein/GFPGAN@fix-dark-cast-images#egg=gfpgan
|
||||||
- -e .
|
- -e .
|
||||||
|
@ -8,10 +8,7 @@ from PIL import Image
|
|||||||
from scripts.dream import create_argv_parser
|
from scripts.dream import create_argv_parser
|
||||||
|
|
||||||
arg_parser = create_argv_parser()
|
arg_parser = create_argv_parser()
|
||||||
opt = arg_parser.parse_args()
|
opt = arg_parser.parse_args()
|
||||||
|
|
||||||
model_path = os.path.join(opt.gfpgan_dir, opt.gfpgan_model_path)
|
|
||||||
gfpgan_model_exists = os.path.isfile(model_path)
|
|
||||||
|
|
||||||
def run_gfpgan(image, strength, seed, upsampler_scale=4):
|
def run_gfpgan(image, strength, seed, upsampler_scale=4):
|
||||||
print(f'>> GFPGAN - Restoring Faces for image seed:{seed}')
|
print(f'>> GFPGAN - Restoring Faces for image seed:{seed}')
|
||||||
@ -20,6 +17,9 @@ def run_gfpgan(image, strength, seed, upsampler_scale=4):
|
|||||||
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
warnings.filterwarnings('ignore', category=DeprecationWarning)
|
||||||
warnings.filterwarnings('ignore', category=UserWarning)
|
warnings.filterwarnings('ignore', category=UserWarning)
|
||||||
|
|
||||||
|
model_path = os.path.join(opt.gfpgan_dir, opt.gfpgan_model_path)
|
||||||
|
gfpgan_model_exists = os.path.isfile(model_path)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if not gfpgan_model_exists:
|
if not gfpgan_model_exists:
|
||||||
raise Exception('GFPGAN model not found at path ' + model_path)
|
raise Exception('GFPGAN model not found at path ' + model_path)
|
||||||
@ -46,7 +46,10 @@ def run_gfpgan(image, strength, seed, upsampler_scale=4):
|
|||||||
|
|
||||||
if gfpgan is None:
|
if gfpgan is None:
|
||||||
print(
|
print(
|
||||||
f'>> GFPGAN not initialized. Their packages must be installed as siblings to the "stable-diffusion" folder, or set explicitly using the --gfpgan_dir option.'
|
f'>> WARNING: GFPGAN not initialized.'
|
||||||
|
)
|
||||||
|
print(
|
||||||
|
f'>> Download https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth to {model_path}, \nor change GFPGAN directory with --gfpgan_dir.'
|
||||||
)
|
)
|
||||||
return image
|
return image
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ def main_loop(t2i, outdir, prompt_as_dir, parser, infile):
|
|||||||
if len(opt.prompt) == 0:
|
if len(opt.prompt) == 0:
|
||||||
print('Try again with a prompt!')
|
print('Try again with a prompt!')
|
||||||
continue
|
continue
|
||||||
if opt.init_img is not None and re.match('^-\d+$',opt.init_img): # retrieve previous value!
|
if opt.init_img is not None and re.match('^-\\d+$',opt.init_img): # retrieve previous value!
|
||||||
try:
|
try:
|
||||||
opt.init_img = last_results[int(opt.init_img)][0]
|
opt.init_img = last_results[int(opt.init_img)][0]
|
||||||
print(f'>> Reusing previous image {opt.init_img}')
|
print(f'>> Reusing previous image {opt.init_img}')
|
||||||
@ -478,7 +478,7 @@ def create_argv_parser():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--gfpgan_dir',
|
'--gfpgan_dir',
|
||||||
type=str,
|
type=str,
|
||||||
default='../GFPGAN',
|
default='./src/gfpgan',
|
||||||
help='Indicates the directory containing the GFPGAN code.',
|
help='Indicates the directory containing the GFPGAN code.',
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user