diffusers の ControlNet 残り2つです!
これが終わったら、次が最後!
今回は Shuffle です
Shuffle
もはや、どんな control_image なのか想像が付きません。
シャッフルとは??
とりあえず Detector で出てきた画像を見るしかない!
投入画像の準備
from diffusers.utils import load_image from controlnet_aux import ContentShuffleDetector init_image_url = "https://huggingface.co/lllyasviel/control_v11e_sd15_shuffle/resolve/main/images/input.png" init_image = load_image(init_image_url) processor = ContentShuffleDetector() control_image = processor(init_image)
ぐにゃーん
ControlNet, Pipeline の準備
import torch from diffusers import ControlNetModel, StableDiffusionControlNetPipeline, UniPCMultistepScheduler # ControlNet の準備 controlnet = ControlNetModel.from_pretrained( "lllyasviel/control_v11e_sd15_shuffle", torch_dtype=torch.float16 ) # Pipeline の準備 pipe = StableDiffusionControlNetPipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16, controlnet=controlnet ) pipe.enable_model_cpu_offload() # スケジューラーの設定 pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config)
いつもの~
パイプライン実行
prompt = "New York" image = pipe( prompt, num_inference_steps=30, generator=torch.manual_seed(33), image=control_image ).images[0] image
今回は Model Card 上の記録とは全く違うものになりました
車が一台も無い!
今回はそもそも control_image が違う
どちらにしてもぐにゃーん
ContentShuffleDetector のバージョンのせいですかね~?
10ヶ月前の README ですからね。
だいぶ近くなりましたねぇ~
まとめ
あの、ぐにゃっとした control_image から、この生成物が何故生まれるのが全然想像が付きません!
旅の扉を通って来た世界かと!