Diffusers documentation
معالج صور VAE
معالج صور VAE
يوفر VaeImageProcessor واجهة برمجة تطبيقات موحّدة لخطوط أنابيب StableDiffusionPipeline لتحضير مدخلات الصور لتشفير VAE ومعالجة المخرجات بعد فك تشفيرها. وتشمل هذه العملية تحويلات مثل تغيير الحجم، والتطبيع، والتحويل بين مصفوفات PIL Image وPyTorch وNumPy.
تقبل جميع خطوط الأنابيب التي تستخدم VaeImageProcessor صور PIL، أو متجهات PyTorch، أو مصفوفات NumPy كمدخلات للصور، وتعيد المخرجات بناءً على معامل output_type الذي يحدده المستخدم. يمكنك تمرير كامنات الصور المشفرة مباشرةً إلى خط الأنابيب، وإرجاع الكامنات من خط الأنابيب كمخرجات محددة باستخدام معامل output_type (على سبيل المثال output_type="latent"). يتيح لك ذلك أخذ الكامنات المولدة من خط أنابيب واحد وتمريرها إلى خط أنابيب آخر كمدخلات دون الخروج من فضاء الكامنات. كما يجعل من السهل بكثير استخدام خطوط أنابيب متعددة معًا من خلال تمرير متجهات PyTorch مباشرةً بين خطوط الأنابيب المختلفة.
VaeImageProcessor
فئة diffusers.VaeImageProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8vae_latent_channels: int = 4resample: str = 'lanczos'reducing_gap: int | None = Nonedo_normalize: bool = Truedo_binarize: bool = Falsedo_convert_rgb: bool = Falsedo_convert_grayscale: bool = False )
المعاملات
- do_resize (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم تصغير أبعاد الصورة (الارتفاع، العرض) إلى مضاعفات منvae_scale_factor. يمكنه قبول الحججheightوwidthمن طريقة image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int، اختياري، القيمة الافتراضية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
< source >( mask: Imageinit_image: Imageimage: Imagecrop_coords: tuple[int, int, int, int] | None = None ) → PIL.Image.Image
المعاملات
- mask (
PIL.Image.Image) — صورة القناع التي تُبرز المناطق المراد تراكبها. - init_image (
PIL.Image.Image) — الصورة الأصلية التي يُطبَّق عليها التراكب. - image (
PIL.Image.Image) — الصورة التي سيتم دمجها فوق الصورة الأصلية. - crop_coords (
tuple[int, int, int, int], اختياري) — إحداثيات لقص الصورة. إذا تم تقديمها، فسيتم قص الصورة وفقًا لها.
يعيد
PIL.Image.Image
الصورة النهائية مع تطبيق التراكب.
يطبّق طبقةً فوق الصورة الأصلية تجمع بين القناع والصورة المُعاد رسمها.
binarize
< source >( image: Image ) → PIL.Image.Image
أنشئ قناعًا.
ضبابية
< source >( image: Imageblur_factor: int = 4 ) → PIL.Image.Image
يطبّق ضبابية غاوسية على صورة.
convert_to_grayscale
< source >( image: Image ) → PIL.Image.Image
يحوّل صورة PIL المعطاة إلى صورة رمادية.
convert_to_rgb
< source >( image: Image ) → PIL.Image.Image
يحوّل صورة PIL إلى تنسيق RGB.
إزالة التطبيع
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
إزالة تطبيع مصفوفة صورة إلى [0,1].
get_crop_region
< source >( mask_image: Imagewidth: intheight: intpad = 0 ) → tuple
المعاملات
- mask_image (PIL.Image.Image) — صورة القناع.
- width (int) — عرض الصورة التي سيتم معالجتها.
- height (int) — ارتفاع الصورة التي سيتم معالجتها.
- pad (int, اختياري) — الحشو الذي يُضاف إلى منطقة القص. القيمة الافتراضية هي 0.
يعيد
tuple
تمثل (x1, y1, x2, y2) منطقة مستطيلة تحتوي على جميع المناطق المقنّعة في الصورة وتتطابق مع نسبة الأبعاد الأصلية.
يجد منطقة مستطيلة تحتوي على جميع المناطق المقنّعة في الصورة، ثم يوسّع المنطقة لتتناسب مع نسبة أبعاد الصورة الأصلية؛ على سبيل المثال، إذا رسم المستخدم قناعًا في منطقة 128x32، وكانت الأبعاد المعتمدة للمعالجة 512x512، فسيتم توسيع المنطقة إلى 128x128.
get_default_height_width
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: int | None = Nonewidth: int | None = None ) → tuple[int, int]
المعاملات
- 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]
مجموعة (tuple) تحتوي على الارتفاع والعرض، وكلاهما مُعاد تحديده إلى أقرب مضاعف صحيح لـ
vae_scale_factor.
يعيد ارتفاع الصورة وعرضها، بعد تصغيرهما إلى أقرب مضاعف صحيح لـvae_scale_factor.
normalize
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
تطبيع مصفوفة صورة إلى [-1,1].
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
تحويل صورة numpy أو دفعة من الصور إلى صورة PIL.
numpy_to_pt
< source >( images: ndarray ) → torch.Tensor
تحويل صورة NumPy إلى متجه PyTorch.
pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
تحويل صورة PIL أو قائمة من صور PIL إلى مصفوفات NumPy.
postprocess
< source >( image: Tensoroutput_type: str = 'pil'do_denormalize: list[bool] | None = None ) → PIL.Image.Image, np.ndarray or torch.Tensor
المعاملات
- 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
الصورة بعد المعالجة.
Postprocess the image output from tensor to output_type.
preprocess
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]height: int | None = Nonewidth: int | None = Noneresize_mode: str = 'default'crops_coords: tuple[int, int, int, int] | None = None ) → torch.Tensor
المعاملات
- image (
PipelineImageInput) — مدخل الصورة، الصيغ المقبولة هي صور PIL، مصفوفات NumPy، متجهات PyTorch؛ كما تقبل قائمة من الصيغ المدعومة. - height (
int، اختياري) — الارتفاع في الصورة بعد المعالجة المسبقة. إذا كانNone، فسيتم استخدامget_default_height_width()للحصول على الارتفاع الافتراضي. - width (
int، اختياري) — العرض بعد المعالجة المسبقة. إذا كانNone، فسيتم استخدام get_default_height_width()` للحصول على العرض الافتراضي. - resize_mode (
str, اختياري، القيمة الافتراضيةdefault) — وضع تغيير الحجم، يمكن أن يكون أحدdefaultأوfill. إذا كانdefault، فسيتم تغيير حجم الصورة لتناسب العرض والارتفاع المحددين، وقد لا يحافظ على نسبة العرض إلى الارتفاع الأصلية. إذا كانfill، فسيتم تغيير حجم الصورة لتناسب العرض والارتفاع المحددين مع الحفاظ على نسبة العرض إلى الارتفاع، ثم يتم توسيط الصورة ضمن الأبعاد، مع ملء الفراغات ببيانات من الصورة. إذا كانcrop، فسيتم تغيير حجم الصورة لتناسب العرض والارتفاع المحددين مع الحفاظ على نسبة العرض إلى الارتفاع، ثم يتم توسيط الصورة ضمن الأبعاد، مع قص الفائض. لاحظ أن وضعي تغيير الحجمfillوcropمدعومان فقط لإدخال صور PIL. - crops_coords (
list[tuple[int, int, int, int]]، اختياري، القيمة الافتراضيةNone) — إحداثيات القص لكل صورة في الدفعة. إذا كانتNone، فلن يتم قص الصورة.
يعيد
torch.Tensor
الصورة بعد المعالجة المسبقة.
قم بمعالجة مدخل الصورة مسبقًا.
pt_to_numpy
< source >( images: Tensor ) → np.ndarray
تحويل متجه PyTorch إلى صورة NumPy.
resize
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: intwidth: intresize_mode: str = 'default' ) → PIL.Image.Image, np.ndarray or torch.Tensor
المعاملات
- image (
PIL.Image.Imageأوnp.ndarrayأوtorch.Tensor) — مدخل الصورة، يمكن أن يكون صورة PIL أو مصفوفة numpy أو tensor من pytorch. - height (
int) — الارتفاع الذي سيتم تغيير حجم الصورة إليه. - width (
int) — العرض المطلوب لتغيير حجم الصورة إليه. - resize_mode (
str, اختياري، القيمة الافتراضيةdefault) — وضع التحجيم المستخدم، يمكن أن يكون أحدdefaultأوfill. إذا كانdefault، فسيتم تحجيم الصورة لتناسب العرض والارتفاع المحددين، وقد لا يحافظ على نسبة العرض إلى الارتفاع الأصلية. إذا كانfill، فسيتم تحجيم الصورة لتناسب العرض والارتفاع المحددين مع الحفاظ على نسبة العرض إلى الارتفاع، ثم تمركز الصورة داخل الأبعاد، وملء الفراغات ببيانات من الصورة. إذا كانcrop، فسيتم تحجيم الصورة لتناسب العرض والارتفاع المحددين مع الحفاظ على نسبة العرض إلى الارتفاع، ثم تمركز الصورة داخل الأبعاد، وقص الفائض. لاحظ أن وضعي التحجيمfillوcropمدعومان فقط لإدخال صور PIL.
يعيد
PIL.Image.Image أو np.ndarray أو torch.Tensor
الصورة المُعاد تغيير حجمها.
تغيير حجم الصورة.
InpaintProcessor
يقبل InpaintProcessor مدخلات mask وimage ويعالجها معًا. وبشكل اختياري، يمكنه قبول padding_mask_crop وتطبيق تراكب للقناع.
فئة diffusers.InpaintProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8vae_latent_channels: int = 4resample: str = 'lanczos'reducing_gap: int | None = Nonedo_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = Falsemask_do_normalize: bool = Falsemask_do_binarize: bool = Truemask_do_convert_grayscale: bool = True )
معالج الصور لتعبئة الصور والأقنعة.
postprocess
< source >( image: Tensoroutput_type: str = 'pil'original_image: PIL.Image.Image | None = Noneoriginal_mask: PIL.Image.Image | None = Nonecrops_coords: tuple[int, int, int, int] | None = None )
معالجة الصورة بعد المعالجة، وتطبيق تراكب القناع اختيارياً
preprocess
< source >( image: Imagemask: PIL.Image.Image | None = Noneheight: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = None )
قم بمعالجة الصورة والقناع مسبقًا.
VaeImageProcessorLDM3D
يقبل VaeImageProcessorLDM3D مدخلات RGB وعمق ويعيد مخرجات RGB وعمق.
فئة diffusers.VaeImageProcessorLDM3D
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = True )
المعاملات
- do_resize (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم تصغير أبعاد الصورة (الارتفاع، العرض) إلى مضاعفات منvae_scale_factor. - vae_scale_factor (
int، اختياري، القيمة الافتراضية8) — معامل مقياس VAE. إذا كانdo_resizeهوTrue، يتم تغيير حجم الصورة تلقائيًا إلى مضاعفات لهذا المعامل. - resample (
str، اختياري، الافتراضيlanczos) — مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. - do_normalize (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم تطبيع الصورة إلى [-1,1].
معالج الصور الخاص بـ VAE LDM3D.
depth_pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
تحويل صورة PIL أو قائمة من صور PIL إلى مصفوفات NumPy.
numpy_to_depth
< source >( images: ndarray ) → list[PIL.Image.Image]
تحويل صورة عمق NumPy أو دفعة من الصور إلى قائمة من صور PIL.
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
تحويل صورة NumPy أو دفعة من الصور إلى قائمة من صور PIL.
preprocess
< source >( rgb: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray]depth: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray]height: int | None = Nonewidth: int | None = Nonetarget_res: int | None = None ) → tuple[torch.Tensor, torch.Tensor]
المعاملات
- 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) — دقة الهدف لتغيير حجم الصور. إذا تم تحديدها، فإنها تتجاوز الارتفاع والعرض.
يعيد
tuple[torch.Tensor, torch.Tensor]
مجموعة (tuple) تحتوي على صور RGB والعمق المعالجة كمتجهات PyTorch.
قم بمعالجة مدخل الصورة مسبقًا. الصيغ المقبولة هي صور PIL، ومصفوفات NumPy، أو متجهات PyTorch.
تحويل صورة عمق تشبه صورة RGB إلى خريطة عمق.
PixArtImageProcessor
فئة diffusers.PixArtImageProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = False )
المعاملات
- do_resize (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم تصغير أبعاد الصورة (الارتفاع، العرض) إلى مضاعفات منvae_scale_factor. يمكنه قبول الحججheightوwidthمن طريقة image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int، اختياري، القيمة الافتراضية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
< source >( height: intwidth: intratios: dict ) → tuple[int, int]
يعيد الارتفاع والعرض المُصنَّفين بناءً على نسبة الأبعاد.
resize_and_crop_tensor
< source >( samples: Tensornew_width: intnew_height: int ) → torch.Tensor
المعاملات
- samples (
torch.Tensor) — مصفوفة (Tensor) بأبعاد (N, C, H, W) حيث N هو حجم الدفعة (batch size)، وC هو عدد القنوات، وH هو الارتفاع، وW هو العرض. - new_width (
int) — العرض المطلوب للصور الناتجة. - new_height (
int) — الارتفاع المطلوب للصور الناتجة.
يعيد
torch.Tensor
مصفوفة تحتوي على الصور المُعاد تحديدها في الحجم والمُقتطعة.
يُعيد تغيير حجم ومقتطع متجه من الصور إلى الأبعاد المحددة.
IPAdapterMaskProcessor
فئة diffusers.IPAdapterMaskProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Falsedo_binarize: bool = Truedo_convert_grayscale: bool = True )
المعاملات
- do_resize (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم تصغير أبعاد الصورة (الارتفاع، العرض) إلى مضاعفات منvae_scale_factor. - vae_scale_factor (
int، اختياري، القيمة الافتراضية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.
تقليل الدقة
< source >( mask: Tensorbatch_size: intnum_queries: intvalue_embed_dim: int ) → torch.Tensor
يقوم بتقليل دقة مُتجه القناع المُقدَّم ليتطابق مع الأبعاد المتوقعة لانتباه النقطي المُقيَّم. إذا لم يتطابق نسبة أبعاد القناع مع نسبة أبعاد الصورة الناتجة، يتم إصدار تحذير.