Diffusers documentation

OpenVINO

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

OpenVINO

🤗 Optimum предоставляет пайплайны Stable Diffusion, совместимые с OpenVINO, для выполнения инференса на различных процессорах Intel (см. полный список поддерживаемых устройств).

Для установки 🤗 Optimum Intel с опцией --upgrade-strategy eager, чтобы убедиться, что optimum-intel использует последнюю версию, выполните:

pip install --upgrade-strategy eager optimum["openvino"]

В этом руководстве показано, как использовать пайплайны Stable Diffusion и Stable Diffusion XL (SDXL) с OpenVINO.

Stable Diffusion

Для загрузки и выполнения инференса используйте OVStableDiffusionPipeline. Если вы хотите загрузить модель PyTorch и конвертировать её в формат OpenVINO на лету, установите export=True:

from optimum.intel import OVStableDiffusionPipeline

model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipeline = OVStableDiffusionPipeline.from_pretrained(model_id, export=True)
prompt = "sailing ship in storm by Rembrandt"
image = pipeline(prompt).images[0]

# Don't forget to save the exported model
pipeline.save_pretrained("openvino-sd-v1-5")

Чтобы дополнительно ускорить инференс, статически измените форму модели. Если вы измените какие-либо параметры, например высоту или ширину выходных данных, вам потребуется снова статически изменить форму модели.

# Define the shapes related to the inputs and desired outputs
batch_size, num_images, height, width = 1, 1, 512, 512

# Statically reshape the model
pipeline.reshape(batch_size, height, width, num_images)
# Compile the model before inference
pipeline.compile()

image = pipeline(
    prompt,
    height=height,
    width=width,
    num_images_per_prompt=num_images,
).images[0]

Больше примеров можно найти в документации 🤗 Optimum. Stable Diffusion поддерживает генерацию изображений по тексту, преобразование изображения в изображение и inpainting.

Stable Diffusion XL

Чтобы загрузить и выполнить инференс с SDXL, используйте OVStableDiffusionXLPipeline:

from optimum.intel import OVStableDiffusionXLPipeline

model_id = "stabilityai/stable-diffusion-xl-base-1.0"
pipeline = OVStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Rembrandt"
image = pipeline(prompt).images[0]

Чтобы дополнительно ускорить инференс, статически измените форму модели, как показано в разделе Stable Diffusion.

Больше примеров можно найти в документации 🤗 Optimum, а запуск SDXL в OpenVINO поддерживается для генерации изображений по тексту и преобразования изображений.

Update on GitHub