커스텀 파이프라인 불러오기
커뮤니티 파이프라인은 논문에 명시된 원래의 구현체와 다른 형태로 구현된 모든 DiffusionPipeline
클래스를 의미합니다. (예를 들어, StableDiffusionControlNetPipeline
는 “Text-to-Image Generation with ControlNet Conditioning” 해당) 이들은 추가 기능을 제공하거나 파이프라인의 원래 구현을 확장합니다.
Speech to Image 또는 Composable Stable Diffusion 과 같은 멋진 커뮤니티 파이프라인이 많이 있으며 여기에서 모든 공식 커뮤니티 파이프라인을 찾을 수 있습니다.
허브에서 커뮤니티 파이프라인을 로드하려면, 커뮤니티 파이프라인의 리포지토리 ID와 (파이프라인 가중치 및 구성 요소를 로드하려는) 모델의 리포지토리 ID를 인자로 전달해야 합니다. 예를 들어, 아래 예시에서는 hf-internal-testing/diffusers-dummy-pipeline
에서 더미 파이프라인을 불러오고, google/ddpm-cifar10-32
에서 파이프라인의 가중치와 컴포넌트들을 로드합니다.
🔒 허깅 페이스 허브에서 커뮤니티 파이프라인을 불러오는 것은 곧 해당 코드가 안전하다고 신뢰하는 것입니다. 코드를 자동으로 불러오고 실행하기 앞서 반드시 온라인으로 해당 코드의 신뢰성을 검사하세요!
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"google/ddpm-cifar10-32", custom_pipeline="hf-internal-testing/diffusers-dummy-pipeline"
)
공식 커뮤니티 파이프라인을 불러오는 것은 비슷하지만, 공식 리포지토리 ID에서 가중치를 불러오는 것과 더불어 해당 파이프라인 내의 컴포넌트를 직접 지정하는 것 역시 가능합니다. 아래 예제를 보면 커뮤니티 CLIP Guided Stable Diffusion 파이프라인을 로드할 때, 해당 파이프라인에서 사용할 clip_model
컴포넌트와 feature_extractor
컴포넌트를 직접 설정하는 것을 확인할 수 있습니다.
from diffusers import DiffusionPipeline
from transformers import CLIPImageProcessor, CLIPModel
clip_model_id = "laion/CLIP-ViT-B-32-laion2B-s34B-b79K"
feature_extractor = CLIPImageProcessor.from_pretrained(clip_model_id)
clip_model = CLIPModel.from_pretrained(clip_model_id)
pipeline = DiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
custom_pipeline="clip_guided_stable_diffusion",
clip_model=clip_model,
feature_extractor=feature_extractor,
)
커뮤니티 파이프라인에 대한 자세한 내용은 커뮤니티 파이프라인 가이드를 살펴보세요. 커뮤니티 파이프라인 등록에 관심이 있는 경우 커뮤니티 파이프라인에 기여하는 방법에 대한 가이드를 확인하세요 !