? 디퓨저는 이미지, 오디오 및 분자의 3D 구조를 생성하기위한 최첨단 사전 제한 확산 모델을위한 도서관입니다. 간단한 추론 솔루션을 찾고 있거나 자신의 확산 모델을 훈련하든? 디퓨저는 둘 다 지원하는 모듈 식 도구 상자입니다. 당사의 라이브러리는 성능에 대한 유용성, 간단한 오버 오버 쉽고 추상화에 대한 사용자 정의 가능성에 중점을두고 설계되었습니다.
? 디퓨저는 세 가지 핵심 구성 요소를 제공합니다.
설치하는 것이 좋습니다. PYPI 또는 Conda의 가상 환경에서의 디퓨저. Pytorch 및 Flax 설치에 대한 자세한 내용은 공식 문서를 참조하십시오.
pip
(공식 패키지) :
pip install --upgrade diffusers[torch]
conda
와 함께 (커뮤니티가 유지) :
conda install -c conda-forge diffusers
pip
(공식 패키지) :
pip install --upgrade diffusers[flax]
Apple Silicon Guide에서 안정적인 확산을 사용하는 방법을 참조하십시오.
출력을 생성하는 것은 매우 쉽습니까? 디퓨저. 텍스트에서 이미지를 생성하려면 from_pretrained
메소드를 사용하여 사전 여분의 확산 모델을로드하십시오 (30,000 개 이상의 체크 포인트를 위해 허브를 찾아보십시오).
from diffusers import DiffusionPipeline
import torch
pipeline = DiffusionPipeline . from_pretrained ( "stable-diffusion-v1-5/stable-diffusion-v1-5" , torch_dtype = torch . float16 )
pipeline . to ( "cuda" )
pipeline ( "An image of a squirrel in Picasso style" ). images [ 0 ]
모델 및 스케줄러 도구 상자를 파헤쳐 자체 확산 시스템을 구축 할 수도 있습니다.
from diffusers import DDPMScheduler , UNet2DModel
from PIL import Image
import torch
scheduler = DDPMScheduler . from_pretrained ( "google/ddpm-cat-256" )
model = UNet2DModel . from_pretrained ( "google/ddpm-cat-256" ). to ( "cuda" )
scheduler . set_timesteps ( 50 )
sample_size = model . config . sample_size
noise = torch . randn (( 1 , 3 , sample_size , sample_size ), device = "cuda" )
input = noise
for t in scheduler . timesteps :
with torch . no_grad ():
noisy_residual = model ( input , t ). sample
prev_noisy_sample = scheduler . step ( noisy_residual , t , input ). prev_sample
input = prev_noisy_sample
image = ( input / 2 + 0.5 ). clamp ( 0 , 1 )
image = image . cpu (). permute ( 0 , 2 , 3 , 1 ). numpy ()[ 0 ]
image = Image . fromarray (( image * 255 ). round (). astype ( "uint8" ))
image
QuickStart를 확인하여 오늘 확산 여행을 시작하십시오!
선적 서류 비치 | 무엇을 배울 수 있습니까? |
---|---|
지도 시간 | 모델과 스케줄러를 사용하여 자신의 확산 시스템을 구축하고 자신의 확산 모델을 훈련하는 것과 같은 라이브러리의 가장 중요한 기능을 사용하는 방법을 배우기위한 기본 충돌 과정. |
로딩 | 라이브러리의 모든 구성 요소 (파이프 라인, 모델 및 스케줄러)와 다른 스케줄러 사용 방법을로드 및 구성하는 방법에 대한 가이드. |
추론을위한 파이프 라인 | 다양한 추론 작업, 배치 생성, 생성 된 출력 및 무작위성 제어 및 라이브러리에 파이프 라인을 기여하는 방법에 대한 가이드. |
최적화 | 확산 모델을 최적화하여 더 빠르게 실행하고 메모리를 덜 소비하는 방법에 대한 안내. |
훈련 | 다른 훈련 기술로 다른 작업에 대한 확산 모델을 훈련시키는 방법에 대한 안내. |
우리는 오픈 소스 커뮤니티의 기여입니다! 이 라이브러리에 기여하려면 기여 가이드를 확인하십시오. 도서관에 기여하기 위해 다루고 싶은 문제를 찾을 수 있습니다.
또한 공개 불화 채널에서 말합니다. 우리는 확산 모델에 대한 가장 인기있는 트렌드에 대해 논의하고, 기부금, 개인 프로젝트로 서로를 돕거나, 그냥 놀아요.
일 | 관로 | ? 바퀴통 |
---|---|---|
무조건 이미지 생성 | DDPM | Google/DDPM-EMA-Church-256 |
텍스트-이미지 | 안정적인 확산 텍스트-이미지 | 안정-확산 -V1-5/안정적인 확산 -V1-5 |
텍스트-이미지 | unplip | Kakaobrain/Karlo-V1-Alpha |
텍스트-이미지 | Deepfloyd if | Deepfloyd/IF-I-XL-V1.0 |
텍스트-이미지 | 칸딘스키 | Kandinsky-Community/Kandinsky-2-2-Decoder |
텍스트 유도 이미지-이미지 | Controlnet | lllyasviel/sd-controlnet-canny |
텍스트 유도 이미지-이미지 | instructpix2pix | TIMBROOKS/ORTRUCT-PIX2PIX |
텍스트 유도 이미지-이미지 | 안정적인 확산 이미지-이미지 | 안정-확산 -V1-5/안정적인 확산 -V1-5 |
텍스트 유도 이미지가 inpainting | 안정적인 확산이 피어 팅 | Runwayml/안정적인 확산-인화 |
이미지 변형 | 안정적인 확산 이미지 변화 | 람다 라브/SD- 이미지 변성-디퍼 버스 |
슈퍼 해상도 | 안정적인 확산 상향 | 안정성이/안정화 -x4 업 스 칼러 |
슈퍼 해상도 | 안정적인 확산 잠재적 고급 | 안정성 AAI/SD-X2-LATENT-UPSCALER |
우리를 사용해 주셔서 감사합니다.
이 라이브러리는 많은 다른 저자들의 이전 작업을 구체화하며 훌륭한 연구와 구현 없이는 불가능했을 것입니다. 특히 개발에 도움이되었으며 오늘날 API가 세련되지 않은 다음 구현에 감사드립니다.
또한 유용한 토론 및 통찰력을 위해 @CrowsonKB 및 @Rromb뿐만 아니라 확산 모델에 대한 논문, 코드 및 리소스에 대한 매우 유용한 개요에 대해 @Heejkoo에게 감사의 말씀을 전합니다.
@misc { von-platen-etal-2022-diffusers ,
author = { Patrick von Platen and Suraj Patil and Anton Lozhkov and Pedro Cuenca and Nathan Lambert and Kashif Rasul and Mishig Davaadorj and Dhruv Nair and Sayak Paul and William Berman and Yiyi Xu and Steven Liu and Thomas Wolf } ,
title = { Diffusers: State-of-the-art diffusion models } ,
year = { 2022 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
howpublished = { url{https://github.com/huggingface/diffusers} }
}