mirror of
https://github.com/modelscope/DiffSynth-Studio.git
synced 2026-03-19 14:58:12 +00:00
59 lines
2.2 KiB
Python
59 lines
2.2 KiB
Python
import importlib
|
|
import torch
|
|
from diffsynth import ModelManager, FluxImagePipeline, download_models, ControlNetConfigUnit
|
|
from modelscope import dataset_snapshot_download
|
|
from PIL import Image
|
|
|
|
if importlib.util.find_spec("facexlib") is None:
|
|
raise ImportError("You are using InifiniteYou. It depends on facexlib, which is not installed. Please install it with `pip install facexlib`.")
|
|
if importlib.util.find_spec("insightface") is None:
|
|
raise ImportError("You are using InifiniteYou. It depends on insightface, which is not installed. Please install it with `pip install insightface`.")
|
|
|
|
download_models(["InfiniteYou"])
|
|
model_manager = ModelManager(torch_dtype=torch.bfloat16, device="cuda", model_id_list=["FLUX.1-dev"])
|
|
model_manager.load_models([
|
|
[
|
|
"models/InfiniteYou/InfuseNetModel/diffusion_pytorch_model-00001-of-00002.safetensors",
|
|
"models/InfiniteYou/InfuseNetModel/diffusion_pytorch_model-00002-of-00002.safetensors"
|
|
],
|
|
"models/InfiniteYou/image_proj_model.bin",
|
|
])
|
|
|
|
|
|
pipe = FluxImagePipeline.from_model_manager(
|
|
model_manager,
|
|
controlnet_config_units=[
|
|
ControlNetConfigUnit(
|
|
processor_id="none",
|
|
model_path=[
|
|
'models/InfiniteYou/InfuseNetModel/diffusion_pytorch_model-00001-of-00002.safetensors',
|
|
'models/InfiniteYou/InfuseNetModel/diffusion_pytorch_model-00002-of-00002.safetensors'
|
|
],
|
|
scale=1.0
|
|
)
|
|
]
|
|
)
|
|
dataset_snapshot_download(dataset_id="DiffSynth-Studio/examples_in_diffsynth", local_dir="./", allow_file_pattern=f"data/examples/infiniteyou/*")
|
|
|
|
prompt = "A man, portrait, cinematic"
|
|
id_image = "data/examples/infiniteyou/man.jpg"
|
|
id_image = Image.open(id_image).convert('RGB')
|
|
image = pipe(
|
|
prompt=prompt, seed=1,
|
|
infinityou_id_image=id_image, infinityou_guidance=1.0,
|
|
num_inference_steps=50, embedded_guidance=3.5,
|
|
height=1024, width=1024,
|
|
)
|
|
image.save("man.jpg")
|
|
|
|
prompt = "A woman, portrait, cinematic"
|
|
id_image = "data/examples/infiniteyou/woman.jpg"
|
|
id_image = Image.open(id_image).convert('RGB')
|
|
image = pipe(
|
|
prompt=prompt, seed=1,
|
|
infinityou_id_image=id_image, infinityou_guidance=1.0,
|
|
num_inference_steps=50, embedded_guidance=3.5,
|
|
height=1024, width=1024,
|
|
)
|
|
image.save("woman.jpg")
|