(self, device)
| 571 | |
| 572 | class PoseText2Image: |
| 573 | def __init__(self, device): |
| 574 | print(f"Initializing PoseText2Image to {device}") |
| 575 | self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32 |
| 576 | self.controlnet = ControlNetModel.from_pretrained("fusing/stable-diffusion-v1-5-controlnet-openpose", |
| 577 | torch_dtype=self.torch_dtype) |
| 578 | self.pipe = StableDiffusionControlNetPipeline.from_pretrained( |
| 579 | "runwayml/stable-diffusion-v1-5", controlnet=self.controlnet, safety_checker=StableDiffusionSafetyChecker.from_pretrained('CompVis/stable-diffusion-safety-checker'), |
| 580 | torch_dtype=self.torch_dtype) |
| 581 | self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) |
| 582 | self.pipe.to(device) |
| 583 | self.num_inference_steps = 20 |
| 584 | self.seed = -1 |
| 585 | self.unconditional_guidance_scale = 9.0 |
| 586 | self.a_prompt = 'best quality, extremely detailed' |
| 587 | self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit,' \ |
| 588 | ' fewer digits, cropped, worst quality, low quality' |
| 589 | |
| 590 | @prompts(name="Generate Image Condition On Pose Image", |
| 591 | description="useful when you want to generate a new real image from both the user description " |
nothing calls this directly
no outgoing calls
no test coverage detected