Параллельные запросы конвейера Qwen-Image, вызывающие ошибку «индекс выходит за пределы»Python

Программы на Python
Ответить
Anonymous
 Параллельные запросы конвейера Qwen-Image, вызывающие ошибку «индекс выходит за пределы»

Сообщение Anonymous »

1. Одновременные запросы конвейера Qwen-Image, вызывающие ошибку индекса за пределами границ
Проблема
Когда два запроса создания изображения выполняются одновременно с использованием одного и того же предварительно загруженного экземпляра конвейера для вывода (num_inference_steps=50), оба запроса завершаются неудачей на шаге 26 со следующей ошибкой:
индекс 51 выходит за пределы измерения 0 с размером 51

Предполагаемая основная причина
Оба запроса используют общий внутренний индекс временного шага планировщика.

Когда каждый запрос выполняет ~26 шагов одновременно (26 × 2 = 52), совокупная прогрессия превышает размер временных шагов планировщика (50), что приводит к доступу за пределами границ.

Код
python
import threading
from diffusers import DiffusionPipeline
import torch

self.device = "cuda"
self.torch_dtype = torch.bfloat16

self.pipe = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image",
torch_dtype=self.torch_dtype,
local_files_only=True,
cache_dir=self.cache_dir
).to(self.device)

images = self.pipe(
prompt=prompt,
negative_prompt=negative_prompt,
width=width,
height=height,
num_inference_steps=50,
true_cfg_scale=true_cfg_scale,
num_images_per_prompt=num_images_per_prompt,
generator=generator
).images

Известные обходные пути
Добавить блокировку для сериализации запросов
→ Безопасно, но исключает параллелизм
Пакетная обработка запросов
→ Требуется агрегация запросов, увеличивается задержка
Несколько экземпляров конвейера
→ Использование VRAM удваивается
Вопросы
Разработан ли DiffusionPipeline как потокобезопасный?
Существуют ли какие-либо параметры или конфигурации, которые позволяют одному экземпляру конвейера безопасно обрабатывать одновременные запросы?
Существуют ли какие-либо рекомендуемые рекомендации для обработки сценариев такого типа?
Журнал
0%| | 0/50 [00:00

Подробнее здесь: https://stackoverflow.com/questions/798 ... unds-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»