Buckets:

hf-doc-build/doc / diffusers /main /ru /api /image_processor.md
mishig's picture
|
download
raw
37.3 kB
# Обработчик изображений VAE
Класс [VaeImageProcessor](/docs/diffusers/main/ru/api/image_processor#diffusers.VaeImageProcessor) предоставляет единый API для [StableDiffusionPipeline](/docs/diffusers/main/ru/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline), позволяющий готовить входные изображения для кодирования VAE и выполнять постобработку выходов после их декодирования. Сюда входят такие преобразования, как изменение размера, нормализация и конвертация между массивами PIL Image, PyTorch и NumPy.
Все пайплайны с [VaeImageProcessor](/docs/diffusers/main/ru/api/image_processor#diffusers.VaeImageProcessor) принимают в качестве входных изображений PIL Image, тензоры PyTorch или массивы NumPy и возвращают результат в соответствии с аргументом `output_type`, указанным пользователем. Вы можете передать закодированные латенты изображения напрямую в пайплайн и получить латенты из пайплайна в качестве конкретного вывода с помощью аргумента `output_type` (например, `output_type="latent"`). Это позволяет извлекать сгенерированные латенты из одного пайплайна и передавать их в другой пайплайн в качестве входа, не покидая латентное пространство. Кроме того, это значительно упрощает совместное использование нескольких пайплайнов за счёт прямой передачи тензоров PyTorch между различными пайплайнами.
## VaeImageProcessor[[diffusers.VaeImageProcessor]]
#### diffusers.VaeImageProcessor[[diffusers.VaeImageProcessor]]
```python
diffusers.VaeImageProcessor(do_resize: bool = True, vae_scale_factor: int = 8, vae_latent_channels: int = 4, resample: str = 'lanczos', reducing_gap: int | None = None, do_normalize: bool = True, do_binarize: bool = False, do_convert_rgb: bool = False, do_convert_grayscale: bool = False)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L83)
**Параметры:**
do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`. Может принимать аргументы `height` и `width` из метода [image_processor.VaeImageProcessor.preprocess()](/docs/diffusers/main/ru/api/image_processor#diffusers.VaeImageProcessor.preprocess).
vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.
resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.
do_normalize (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли нормализовать изображение в диапазон [-1,1].
do_binarize (`bool`, *необязательный*, по умолчанию `False`) : Бинаризовать ли изображение в 0/1.
do_convert_rgb (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат RGB.
do_convert_grayscale (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат оттенков серого.
Обработчик изображений для VAE.
#### apply_overlay[[diffusers.VaeImageProcessor.apply_overlay]]
```python
apply_overlay(mask: Image, init_image: Image, image: Image, crop_coords: tuple[int, int, int, int] | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L789)
**Параметры:**
mask (`PIL.Image.Image`) : маска, выделяющая области для наложения.
init_image (`PIL.Image.Image`) : исходное изображение, к которому применяется наложение.
image (`PIL.Image.Image`) : изображение, которое нужно наложить на исходное.
crop_coords (`tuple[int, int, int, int]`, *optional*) : Координаты для обрезки изображения. Если указаны, изображение будет обрезано в соответствии с ними.
**Возвращает:** `PIL.Image.Image`
Итоговое изображение с наложенным оверлеем.
Наносит наложение маски и отредактированного изображения на исходное изображение.
#### бинаризация[[diffusers.VaeImageProcessor.binarize]]
```python
binarize(image: Image)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L524)
**Параметры:**
image (`PIL.Image.Image`) : входное изображение, должно быть изображением в формате PIL.
**Возвращает:** `PIL.Image.Image`
Двоичное изображение. Значения, меньшие 0.5, устанавливаются в 0, значения, большие 0.5, устанавливаются в 1.
Создайте маску.
#### blur[[diffusers.VaeImageProcessor.blur]]
```python
blur(image: Image, blur_factor: int = 4)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L271)
**Параметры:**
image (`PIL.Image.Image`) : Изображение PIL, которое нужно преобразовать в оттенки серого.
**Возвращает:** `PIL.Image.Image`
Изображение PIL, преобразованное в оттенки серого.
Применяет гауссово размытие к изображению.
#### convert_to_grayscale[[diffusers.VaeImageProcessor.convert_to_grayscale]]
```python
convert_to_grayscale(image: Image)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L254)
**Параметры:**
image (`PIL.Image.Image`) : входное изображение для преобразования.
**Возвращает:** `PIL.Image.Image`
Изображение, преобразованное в оттенки серого.
Преобразует заданное изображение PIL в оттенки серого.
#### convert_to_rgb[[diffusers.VaeImageProcessor.convert_to_rgb]]
```python
convert_to_rgb(image: Image)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L237)
**Параметры:**
image (`PIL.Image.Image`) : Изображение PIL, которое нужно преобразовать в RGB.
**Возвращает:** `PIL.Image.Image`
Изображение PIL, преобразованное в RGB.
Преобразует изображение PIL в формат RGB.
#### denormalize[[diffusers.VaeImageProcessor.denormalize]]
```python
denormalize(images: typing.Union[numpy.ndarray, torch.Tensor])
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L222)
**Параметры:**
images (`np.ndarray` или `torch.Tensor`) : Массив изображения для денормализации.
**Возвращает:** `np.ndarray` или `torch.Tensor`
Массив денормализованного изображения.
Разнормализовать массив изображения до [0,1].
#### get_crop_region[[diffusers.VaeImageProcessor.get_crop_region]]
```python
get_crop_region(mask_image: Image, width: int, height: int, pad = 0)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L288)
**Параметры:**
mask_image (PIL.Image.Image) : Изображение маски.
width (int) : Ширина обрабатываемого изображения.
height (int) : Высота обрабатываемого изображения.
pad (int, optional) : Отступ, добавляемый к области обрезки. По умолчанию 0.
**Возвращает:** `tuple`
(x1, y1, x2, y2) представляют прямоугольную область, содержащую все замаскированные области на изображении и соответствующую исходному соотношению сторон.
Находит прямоугольную область, содержащую все замаскированные области на изображении, и расширяет её до соотношения сторон исходного изображения; например, если пользователь нарисовал маску в области 128x32, а размеры для обработки составляют 512x512, область будет расширена до 128x128.
#### get_default_height_width[[diffusers.VaeImageProcessor.get_default_height_width]]
```python
get_default_height_width(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], height: int | None = None, width: int | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L561)
**Параметры:**
image (`PIL.Image.Image | np.ndarray | torch.Tensor`) : Входное изображение, которое может быть изображением PIL, массивом NumPy или тензором PyTorch. Если это массив NumPy, его форма должна быть `[batch, height, width]` или `[batch, height, width, channels]`. Если это тензор PyTorch, его форма должна быть `[batch, channels, height, width]`.
height (`int | None`, *необязательный*, по умолчанию `None`) : Высота предобработанного изображения. Если `None`, будет использована высота входного `image`.
width (`int | None`, *необязательный*, по умолчанию `None`) : Ширина предобработанного изображения. Если `None`, будет использована ширина входного `image`.
**Возвращает:** `tuple[int, int]`
Кортеж, содержащий высоту и ширину, обе из которых изменены до ближайшего целого кратного `vae_scale_factor`.
Возвращает высоту и ширину изображения, уменьшенные до ближайшего целого кратного `vae_scale_factor`.
#### normalize[[diffusers.VaeImageProcessor.normalize]]
```python
normalize(images: typing.Union[numpy.ndarray, torch.Tensor])
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L207)
**Параметры:**
images (`np.ndarray` или `torch.Tensor`) : Массив изображения для нормализации.
**Возвращает:** `np.ndarray` или `torch.Tensor`
Нормализованный массив изображения.
Нормализовать массив изображения до [-1,1].
#### numpy_to_pil[[diffusers.VaeImageProcessor.numpy_to_pil]]
```python
numpy_to_pil(images: ndarray)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L128)
**Параметры:**
images (`np.ndarray`) : Массив изображения для преобразования в формат PIL.
**Возвращает:** `list[PIL.Image.Image]`
Список изображений PIL.
Преобразование изображения numpy или пакета изображений в изображение PIL.
#### numpy_to_pt[[diffusers.VaeImageProcessor.numpy_to_pt]]
```python
numpy_to_pt(images: ndarray)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L172)
**Параметры:**
images (`np.ndarray`) : Массив изображения NumPy для преобразования в формат PyTorch.
**Возвращает:** `torch.Tensor`
Представление изображений в виде тензора PyTorch.
Преобразование изображения NumPy в тензор PyTorch.
#### pil_to_numpy[[diffusers.VaeImageProcessor.pil_to_numpy]]
```python
pil_to_numpy(images: list[PIL.Image.Image] | PIL.Image.Image)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L152)
**Параметры:**
images (`PIL.Image.Image` или `list[PIL.Image.Image]`) : Изображение PIL или список изображений для преобразования в формат NumPy.
**Возвращает:** `np.ndarray`
Представление изображений в виде массива NumPy.
Преобразовать изображение PIL или список изображений PIL в массивы NumPy.
#### postprocess[[diffusers.VaeImageProcessor.postprocess]]
```python
postprocess(image: Tensor, output_type: str = 'pil', do_denormalize: list[bool] | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L739)
**Параметры:**
image (`torch.Tensor`) : Входное изображение, должно быть тензором PyTorch с формой `B x C x H x W`.
output_type (`str`, *необязательный*, по умолчанию `pil`) : Тип выходного изображения, может быть одним из `pil`, `np`, `pt`, `latent`.
do_denormalize (`list[bool]`, *необязательный*, по умолчанию `None`) : Нужно ли денормализовать изображение до [0,1]. Если `None`, будет использовано значение `do_normalize` из конфигурации `VaeImageProcessor`.
**Возвращает:** `PIL.Image.Image`, `np.ndarray` или `torch.Tensor`
Обработанное изображение.
Постобработка изображения: преобразование из тензора в `output_type`.
#### preprocess[[diffusers.VaeImageProcessor.preprocess]]
```python
preprocess(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], height: int | None = None, width: int | None = None, resize_mode: str = 'default', crops_coords: tuple[int, int, int, int] | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L608)
**Параметры:**
image (`PipelineImageInput`) : входное изображение, поддерживаемые форматы: изображения PIL, массивы NumPy, тензоры PyTorch; также принимается список поддерживаемых форматов.
height (`int`, *optional*) : Высота в пикселях предобработанного изображения. Если `None`, будет использована `get_default_height_width()` для получения значения по умолчанию.
width (`int`, *optional*) : Ширина в предобработанном виде. Если `None`, будет использована get_default_height_width()` для получения ширины по умолчанию.
resize_mode (`str`, *optional*, по умолчанию `default`) : Режим изменения размера, может быть `default` или `fill`. Если `default`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, при этом исходное соотношение сторон может не сохраняться. Если `fill`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, при этом пустые области заполняются данными из изображения. Если `crop`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, с обрезкой лишних частей. Обратите внимание, что resize_mode `fill` и `crop` поддерживаются только для входных изображений PIL.
crops_coords (`list[tuple[int, int, int, int]]`, *необязательный*, по умолчанию `None`) : Координаты обрезки для каждого изображения в батче. Если `None`, изображение не будет обрезано.
**Возвращает:** `torch.Tensor`
Предобработанное изображение.
Предобработка входных изображений.
#### pt_to_numpy[[diffusers.VaeImageProcessor.pt_to_numpy]]
```python
pt_to_numpy(images: Tensor)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L191)
**Параметры:**
images (`torch.Tensor`) : Тензор PyTorch, который нужно преобразовать в формат NumPy.
**Возвращает:** `np.ndarray`
Представление изображений в виде массива NumPy.
Преобразование тензора PyTorch в изображение NumPy.
#### resize[[diffusers.VaeImageProcessor.resize]]
```python
resize(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], height: int, width: int, resize_mode: str = 'default')
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L463)
**Параметры:**
image (`PIL.Image.Image`, `np.ndarray` или `torch.Tensor`) : Входное изображение, может быть изображением PIL, массивом numpy или тензором pytorch.
height (`int`) : Высота, к которой нужно изменить размер.
width (`int`) : Ширина, к которой нужно изменить размер.
resize_mode (`str`, *необязательный*, по умолчанию `default`) : Режим изменения размера, может быть `default` или `fill`. Если `default`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, при этом исходное соотношение сторон может не сохраняться. Если `fill`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, при этом пустые области заполняются данными из изображения. Если `crop`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, с обрезкой лишних частей. Обратите внимание, что resize_mode `fill` и `crop` поддерживаются только для входных изображений PIL.
**Возвращает:** `PIL.Image.Image`, `np.ndarray` или `torch.Tensor`
Изображение изменённого размера.
Изменение размера изображения.
## InpaintProcessor[[diffusers.InpaintProcessor]]
[InpaintProcessor](/docs/diffusers/main/ru/api/image_processor#diffusers.InpaintProcessor) принимает на вход `mask` и `image` и обрабатывает их совместно. По желанию он может принимать padding_mask_crop и применять наложение маски.
#### diffusers.InpaintProcessor[[diffusers.InpaintProcessor]]
```python
diffusers.InpaintProcessor(do_resize: bool = True, vae_scale_factor: int = 8, vae_latent_channels: int = 4, resample: str = 'lanczos', reducing_gap: int | None = None, do_normalize: bool = True, do_binarize: bool = False, do_convert_grayscale: bool = False, mask_do_normalize: bool = False, mask_do_binarize: bool = True, mask_do_convert_grayscale: bool = True)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L837)
Обработчик изображений для инпейнтинга изображения и маски.
#### postprocess[[diffusers.InpaintProcessor.postprocess]]
```python
postprocess(image: Tensor, output_type: str = 'pil', original_image: PIL.Image.Image | None = None, original_mask: PIL.Image.Image | None = None, crops_coords: tuple[int, int, int, int] | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L944)
Постобработка изображения, при необходимости наложение маски
#### preprocess[[diffusers.InpaintProcessor.preprocess]]
```python
preprocess(image: Image, mask: PIL.Image.Image | None = None, height: int | None = None, width: int | None = None, padding_mask_crop: int | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L882)
Предобработка изображения и маски.
## VaeImageProcessorLDM3D[[diffusers.VaeImageProcessorLDM3D]]
Класс [VaeImageProcessorLDM3D](/docs/diffusers/main/ru/api/image_processor#diffusers.VaeImageProcessorLDM3D) принимает на вход RGB-изображения и карты глубины и возвращает RGB-изображения и карты глубины.
#### diffusers.VaeImageProcessorLDM3D[[diffusers.VaeImageProcessorLDM3D]]
```python
diffusers.VaeImageProcessorLDM3D(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = True)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L974)
**Параметры:**
do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`.
vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.
resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.
do_normalize (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли нормализовать изображение в диапазон [-1,1].
Обработчик изображений для VAE LDM3D.
#### depth_pil_to_numpy[[diffusers.VaeImageProcessorLDM3D.depth_pil_to_numpy]]
```python
depth_pil_to_numpy(images: list[PIL.Image.Image] | PIL.Image.Image)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1025)
**Параметры:**
images (`list[PIL.Image.Image, PIL.Image.Image]`) : входное изображение или список изображений для преобразования.
**Возвращает:** `np.ndarray`
Массив NumPy с преобразованными изображениями.
Преобразовать изображение PIL или список изображений PIL в массивы NumPy.
#### numpy_to_depth[[diffusers.VaeImageProcessorLDM3D.numpy_to_depth]]
```python
numpy_to_depth(images: ndarray)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1083)
**Параметры:**
images (`np.ndarray`) : Входной массив NumPy с изображениями глубины, который может быть одним изображением или батчем.
**Возвращает:** `list[PIL.Image.Image]`
Список изображений PIL, преобразованных из входных изображений глубины NumPy.
Преобразовать изображение глубины NumPy или пакет изображений в список изображений PIL.
#### numpy_to_pil[[diffusers.VaeImageProcessorLDM3D.numpy_to_pil]]
```python
numpy_to_pil(images: ndarray)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1001)
**Параметры:**
images (`np.ndarray`) : Входной массив NumPy с изображениями, который может содержать одно изображение или пакет.
**Возвращает:** `list[PIL.Image.Image]`
Список изображений PIL, преобразованных из входного массива NumPy.
Преобразовать изображение NumPy или пакет изображений в список изображений PIL.
#### preprocess[[diffusers.VaeImageProcessorLDM3D.preprocess]]
```python
preprocess(rgb: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray], depth: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray], height: int | None = None, width: int | None = None, target_res: int | None = None)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1161)
**Параметры:**
rgb (`torch.Tensor | PIL.Image.Image | np.ndarray`) : входное изображение в формате RGB, которое может быть одиночным изображением или батчем.
depth (`torch.Tensor | PIL.Image.Image | np.ndarray`) : входное изображение глубины, которое может быть одиночным изображением или батчем.
height (`int | None`, *необязательный*, по умолчанию `None`) : Желаемая высота обработанного изображения. Если `None`, по умолчанию используется высота входного изображения.
width (`int | None`, *необязательный*, по умолчанию `None`) : Желаемая ширина обработанного изображения. Если `None`, по умолчанию используется ширина входного изображения.
target_res (`int | None`, *необязательный*, по умолчанию `None`) : Целевое разрешение для изменения размера изображений. Если указано, переопределяет height и width.
**Возвращает:** `tuple[torch.Tensor, torch.Tensor]`
Кортеж, содержащий обработанные RGB- и глубинные изображения в виде тензоров PyTorch.
Предобработка входных изображений. Поддерживаемые форматы: изображения PIL, массивы NumPy или тензоры PyTorch.
#### rgblike_to_depthmap[[diffusers.VaeImageProcessorLDM3D.rgblike_to_depthmap]]
```python
rgblike_to_depthmap(image: typing.Union[numpy.ndarray, torch.Tensor])
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1045)
Преобразование изображения глубины в формате RGB в карту глубины.
## PixArtImageProcessor[[diffusers.PixArtImageProcessor]]
#### diffusers.PixArtImageProcessor[[diffusers.PixArtImageProcessor]]
```python
diffusers.PixArtImageProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = True, do_binarize: bool = False, do_convert_grayscale: bool = False)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1381)
**Параметры:**
do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`. Может принимать аргументы `height` и `width` из метода [image_processor.VaeImageProcessor.preprocess()](/docs/diffusers/main/ru/api/image_processor#diffusers.VaeImageProcessor.preprocess).
vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.
resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.
do_normalize (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли нормализовать изображение в диапазон [-1,1].
do_binarize (`bool`, *необязательный*, по умолчанию `False`) : Бинаризовать ли изображение в 0/1.
do_convert_rgb (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат RGB.
do_convert_grayscale (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат оттенков серого.
Обработчик изображений для изменения размера и обрезки изображений PixArt.
#### classify_height_width_bin[[diffusers.PixArtImageProcessor.classify_height_width_bin]]
```python
classify_height_width_bin(height: int, width: int, ratios: dict)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1422)
**Параметры:**
height (`int`) : Высота изображения.
width (`int`) : Ширина изображения.
ratios (`dict`) : Словарь, где ключи — это соотношения сторон, а значения — кортежи (height, width).
**Возвращает:** `tuple[int, int]`
Ближайшие бинные значения высоты и ширины.
Возвращает бинированные высоту и ширину на основе соотношения сторон.
#### resize_and_crop_tensor[[diffusers.PixArtImageProcessor.resize_and_crop_tensor]]
```python
resize_and_crop_tensor(samples: Tensor, new_width: int, new_height: int)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1440)
**Параметры:**
samples (`torch.Tensor`) : тензор формы (N, C, H, W), где N — размер батча, C — количество каналов, H — высота, а W — ширина.
new_width (`int`) : Желаемая ширина выходных изображений.
new_height (`int`) : Желаемая высота выходных изображений.
**Возвращает:** `torch.Tensor`
Тензор, содержащий изображения после изменения размера и обрезки.
Изменяет размер и обрезает тензор изображений до указанных размеров.
## IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]
#### diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]
```python
diffusers.IPAdapterMaskProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = False, do_binarize: bool = True, do_convert_grayscale: bool = True)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1277)
**Параметры:**
do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`.
vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.
resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.
do_normalize (`bool`, *необязательный*, по умолчанию `False`) : Нужно ли нормализовать изображение в диапазон [-1,1].
do_binarize (`bool`, *необязательный*, по умолчанию `True`) : Бинаризовать ли изображение в 0/1.
do_convert_grayscale (`bool`, *необязательный*, по умолчанию `True`) : Преобразовать ли изображения в формат оттенков серого.
Обработчик изображений для масок изображений IP Adapter.
#### downsample[[diffusers.IPAdapterMaskProcessor.downsample]]
```python
downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/image_processor.py#L1318)
**Параметры:**
mask (`torch.Tensor`) : входной тензор маски, созданный с помощью `IPAdapterMaskProcessor.preprocess()`.
batch_size (`int`) : Размер батча.
num_queries (`int`) : Количество запросов.
value_embed_dim (`int`) : размерность векторов значений.
**Возвращает:** `torch.Tensor`
Тензор маски после уменьшения разрешения.
Уменьшает размер предоставленного тензора маски до ожидаемых размерностей для масштабированного внимания на основе скалярного произведения. Если соотношение сторон маски не совпадает с соотношением сторон выходного изображения, выводится предупреждение.

Xet Storage Details

Size:
37.3 kB
·
Xet hash:
163499c14627c2990562fb02ea15ba251358e2d4e490a93a077dd08749e0252a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.