diffusers/tools
1128
1#!/usr/bin/env python32import logging3import torch4import diffusers5 6log = logging.getLogger("test")7log.setLevel(logging.DEBUG)8logging.basicConfig(level=logging.DEBUG, format='%(asctime)s | %(name)s | %(levelname)s | %(module)s | %(message)s')9 10log.info(f'loaded: torch={torch.__version__} diffusers={diffusers.__version__}')11 12prompt_positive = 'futuristic city'13prompt_negative = 'grass'14seeds = [42]15model_path = "runwayml/stable-diffusion-v1-5"16embedding_path_ok = "sd15_text_inv.pt"17# embedding_path_err = "./sd21_text_inv.pt"18device = 'cuda:0'19load_args = {20 "low_cpu_mem_usage": True,21 "torch_dtype": torch.float16,22 "variant": 'fp16',23 "safety_checker": None,24 "load_safety_checker": False,25 # "local_files_only": False,26}27pipe = diffusers.StableDiffusionPipeline.from_pretrained(model_path, **load_args)28pipe.set_progress_bar_config(bar_format='Progress {rate_fmt}{postfix} {bar} {percentage:3.0f}% {n_fmt}/{total_fmt} {elapsed} {remaining} ' + '\x1b[38;5;71m', ncols=80, colour='#327fba')29pipe.enable_model_cpu_offload()30args = {31 'prompt': [prompt_positive],32 'negative_prompt': [prompt_negative],33 'guidance_scale': 6,34 'generator': [torch.Generator(device).manual_seed(s) for s in seeds],35 'output_type': 'pil',36 'num_inference_steps': 10,37 'eta': 0.0,38 'guidance_rescale': 0.7,39 'height': 512,40 'width': 512,41}42 43# pipe.load_lora_weights(embedding_path_ok, **load_args)44try:45 pipe.load_lora_weights(embedding_path_ok, **load_args)46except Exception as e:47 log.error(f'failed to load embeddings: {e}')48 49output = pipe(**args)50log.info(f'output: {output}') # this works fine51 52 