Diffusers documentation
ONNX Runtime
ONNX Runtime
🤗 Optimum은 ONNX Runtime과 호환되는 Stable Diffusion 파이프라인을 제공합니다. ONNX Runtime 지원을 위해 다음 명령어로 🤗 Optimum을 설치해야 합니다:
pip install -q optimum["onnxruntime"]이 가이드에서는 ONNX Runtime과 함께 Stable Diffusion 및 Stable Diffusion XL (SDXL) 파이프라인을 사용하는 방법을 보여줍니다.
Stable Diffusion
로드 및 추론 실행을 위해 ORTStableDiffusionPipeline을 사용합니다. PyTorch 모델을 로드하여 ONNX 형식으로 즉시 변환하려면 export=True를 설정하세요:
from optimum.onnxruntime import ORTStableDiffusionPipeline
model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipeline = ORTStableDiffusionPipeline.from_pretrained(model_id, export=True)
prompt = "sailing ship in storm by Leonardo da Vinci"
image = pipeline(prompt).images[0]
pipeline.save_pretrained("./onnx-stable-diffusion-v1-5")batch로 여러 프롬프트를 생성하는 데 메모리가 과도하게 사용되는 것으로 보입니다. 해당 문제를 조사하는 동안, batch 처리 대신 반복(iteration)을 사용해야 할 수 있습니다.
ONNX 형식으로 파이프라인을 오프라인으로 내보내 나중에 추론에 사용하려면 optimum-cli export 명령을 사용합니다:
optimum-cli export onnx --model stable-diffusion-v1-5/stable-diffusion-v1-5 sd_v15_onnx/그런 다음 추론을 수행합니다(export=True를 다시 지정할 필요가 없습니다):
from optimum.onnxruntime import ORTStableDiffusionPipeline
model_id = "sd_v15_onnx"
pipeline = ORTStableDiffusionPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Leonardo da Vinci"
image = pipeline(prompt).images[0]
🤗 Optimum 문서에서 더 많은 예시를 찾을 수 있으며, Stable Diffusion은 텍스트-이미지 생성, 이미지-이미지 변환, 인페인팅을 지원합니다.
Stable Diffusion XL
SDXL로 로드하고 추론을 실행하려면 ORTStableDiffusionXLPipeline을 사용하세요:
from optimum.onnxruntime import ORTStableDiffusionXLPipeline
model_id = "stabilityai/stable-diffusion-xl-base-1.0"
pipeline = ORTStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Leonardo da Vinci"
image = pipeline(prompt).images[0]ONNX 형식으로 파이프라인을 내보내서 나중에 추론에 사용하려면 optimum-cli export 명령을 사용하세요:
optimum-cli export onnx --model stabilityai/stable-diffusion-xl-base-1.0 --task stable-diffusion-xl sd_xl_onnx/ONNX 형식의 SDXL은 텍스트-이미지 생성 및 이미지-이미지 변환을 지원합니다.
Update on GitHub