Difusão estável e melhoria da face GFPGAN

Difusão estável e melhoria da face GFPGAN

“””
https://www.facebook.com/photo/?fbid=230317606517173&set=gm.1042375796884526&idorvanity=209358916852889
Pedido de Kotchakorn(Nan)
Outros pedidos
– veja através de
– biquíni de tiras
– micro biquíni
– tapa mamilos sexy
– nu
“””
importar itertools
importar math
importar os.path
importar random

importar torch.backends.mps
from PIL import Image
from diffusers import StableDiffusionInpaintPipeline
from diffusers.utils import load_image
from tqdm import tqdm

from set_seed import seed_everything

seed: int = 88888
seed_everything(seed)
dispositivo: str = “mps” if torch.backends.mps.is_available() else “cpu”
print(f “Dispositivo: {dispositivo}”)
num_images_per_prompt: int = 1
num_inference_steps: int = 200
pontos fortes = [8, 9, 10, 11, 12]
escalas_de_orientação = [8, 9, 10, 11, 12]
eta_list = list(range(4, 11))
lista_combinada = lista(itertools.product(pontos fortes, escalas_de_orientação, lista_etapas))

# Embaralhe a lista combinada
random.shuffle(lista_combinada)

model_id = “runwayml/stable-diffusion-inpainting”
prompt = “ver através de micro biquíni, sexy, pele branca, rosto liso, sentar-se inclinado para a frente”
negative_prompt: str = “desfocada, má qualidade, distorcida, má forma, magra, virada para trás, cara feia”
imagem_da_fonte = carregar_imagem(“sources/kotchakorn_base.jpg”)
masked_image = load_image(“sources/masked_kotchakorn_base.png”)
out_dir: str = “kotchakorn_sit_stream”
print(f “tamanho_da_imagem_de_fonte: {tamanho_da_imagem_de_fonte}”)
factor_tamanho: float = 0.7
largura, altura = tamanho_da_imagem_de_origem

def resize_for_condition_image(input_image: Image, resolution: int):
imagem_de_entrada = imagem_de_entrada.convert(“RGB”)
L, A = tamanho da imagem de entrada
k = float(resolução) / min(H, W)
H *= k
W *= k
H = int(round(H / 64.0)) * 64
W = int(round(W / 64.0)) * 64
img = input_image.resize((W, H), resample=Image.LANCZOS)
return img

for item in tqdm(lista_combinada, total=len(lista_combinada)):
strength, guidance_scale, eta = item
força = 0,1 * força
eta = 0,1 * eta
nome do ficheiro: str = f”{out_dir}/kot_inpaint_{strength}_{guidance_scale}_{eta}_0.png”
tente:
se não os.path.exists(filename):
pipe = StableDiffusionInpaintPipeline.from_pretrained(
model_id,
safety_checker=Nenhum,
)
pipe = pipe.to(dispositivo)
# pipe.enable_sequential_cpu_offload()
resultado = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
image=resize_for_condition_image(source_image, 1024),
mask_image=resize_for_condition_image(masked_image, 1024),
num_inference_steps=num_inference_steps,
num_images_per_prompt=num_images_per_prompt,
strength=força,
guidance_scale=guidance_scale,
eta=eta,
width=int(math.floor(largura * fator de tamanho / 8) * 8),
height=int(math.floor(height * factor_tamanho / 8) * 8)
)
para idx, imagem em enumerate(result.images):
nome do ficheiro: str = f”{out_dir}/kot_inpaint_{strength}_{guidance_scale}_{eta}_{idx}.png”
image.save(nome do ficheiro)
exceto Exception as err:
imprima(err)
print(f”{out_dir}/kot_inpaint_{strength}_{guidance_scale}_{eta}.png é impossível”)
continue

Back To Top