Unverified Commit df267ee4 authored by naykun's avatar naykun Committed by GitHub
Browse files

feat: Add QwenImageEditPlus to support future feature upgrades (#12357)

* feat: add support of qwenimageeditplus

* add copies statement

* fix copies statement

* remove vl_processor reference
parent edd614ea
...@@ -515,6 +515,7 @@ else: ...@@ -515,6 +515,7 @@ else:
"QwenImageControlNetPipeline", "QwenImageControlNetPipeline",
"QwenImageEditInpaintPipeline", "QwenImageEditInpaintPipeline",
"QwenImageEditPipeline", "QwenImageEditPipeline",
"QwenImageEditPlusPipeline",
"QwenImageImg2ImgPipeline", "QwenImageImg2ImgPipeline",
"QwenImageInpaintPipeline", "QwenImageInpaintPipeline",
"QwenImagePipeline", "QwenImagePipeline",
...@@ -1170,6 +1171,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT: ...@@ -1170,6 +1171,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
QwenImageControlNetPipeline, QwenImageControlNetPipeline,
QwenImageEditInpaintPipeline, QwenImageEditInpaintPipeline,
QwenImageEditPipeline, QwenImageEditPipeline,
QwenImageEditPlusPipeline,
QwenImageImg2ImgPipeline, QwenImageImg2ImgPipeline,
QwenImageInpaintPipeline, QwenImageInpaintPipeline,
QwenImagePipeline, QwenImagePipeline,
......
...@@ -394,6 +394,7 @@ else: ...@@ -394,6 +394,7 @@ else:
"QwenImageImg2ImgPipeline", "QwenImageImg2ImgPipeline",
"QwenImageInpaintPipeline", "QwenImageInpaintPipeline",
"QwenImageEditPipeline", "QwenImageEditPipeline",
"QwenImageEditPlusPipeline",
"QwenImageEditInpaintPipeline", "QwenImageEditInpaintPipeline",
"QwenImageControlNetInpaintPipeline", "QwenImageControlNetInpaintPipeline",
"QwenImageControlNetPipeline", "QwenImageControlNetPipeline",
...@@ -721,6 +722,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT: ...@@ -721,6 +722,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
QwenImageControlNetPipeline, QwenImageControlNetPipeline,
QwenImageEditInpaintPipeline, QwenImageEditInpaintPipeline,
QwenImageEditPipeline, QwenImageEditPipeline,
QwenImageEditPlusPipeline,
QwenImageImg2ImgPipeline, QwenImageImg2ImgPipeline,
QwenImageInpaintPipeline, QwenImageInpaintPipeline,
QwenImagePipeline, QwenImagePipeline,
......
...@@ -27,6 +27,7 @@ else: ...@@ -27,6 +27,7 @@ else:
_import_structure["pipeline_qwenimage_controlnet"] = ["QwenImageControlNetPipeline"] _import_structure["pipeline_qwenimage_controlnet"] = ["QwenImageControlNetPipeline"]
_import_structure["pipeline_qwenimage_controlnet_inpaint"] = ["QwenImageControlNetInpaintPipeline"] _import_structure["pipeline_qwenimage_controlnet_inpaint"] = ["QwenImageControlNetInpaintPipeline"]
_import_structure["pipeline_qwenimage_edit"] = ["QwenImageEditPipeline"] _import_structure["pipeline_qwenimage_edit"] = ["QwenImageEditPipeline"]
_import_structure["pipeline_qwenimage_edit_plus"] = ["QwenImageEditPlusPipeline"]
_import_structure["pipeline_qwenimage_edit_inpaint"] = ["QwenImageEditInpaintPipeline"] _import_structure["pipeline_qwenimage_edit_inpaint"] = ["QwenImageEditInpaintPipeline"]
_import_structure["pipeline_qwenimage_img2img"] = ["QwenImageImg2ImgPipeline"] _import_structure["pipeline_qwenimage_img2img"] = ["QwenImageImg2ImgPipeline"]
_import_structure["pipeline_qwenimage_inpaint"] = ["QwenImageInpaintPipeline"] _import_structure["pipeline_qwenimage_inpaint"] = ["QwenImageInpaintPipeline"]
...@@ -43,6 +44,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT: ...@@ -43,6 +44,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
from .pipeline_qwenimage_controlnet_inpaint import QwenImageControlNetInpaintPipeline from .pipeline_qwenimage_controlnet_inpaint import QwenImageControlNetInpaintPipeline
from .pipeline_qwenimage_edit import QwenImageEditPipeline from .pipeline_qwenimage_edit import QwenImageEditPipeline
from .pipeline_qwenimage_edit_inpaint import QwenImageEditInpaintPipeline from .pipeline_qwenimage_edit_inpaint import QwenImageEditInpaintPipeline
from .pipeline_qwenimage_edit_plus import QwenImageEditPlusPipeline
from .pipeline_qwenimage_img2img import QwenImageImg2ImgPipeline from .pipeline_qwenimage_img2img import QwenImageImg2ImgPipeline
from .pipeline_qwenimage_inpaint import QwenImageInpaintPipeline from .pipeline_qwenimage_inpaint import QwenImageInpaintPipeline
else: else:
......
...@@ -208,7 +208,6 @@ class QwenImageEditPipeline(DiffusionPipeline, QwenImageLoraLoaderMixin): ...@@ -208,7 +208,6 @@ class QwenImageEditPipeline(DiffusionPipeline, QwenImageLoraLoaderMixin):
# QwenImage latents are turned into 2x2 patches and packed. This means the latent width and height has to be divisible # QwenImage latents are turned into 2x2 patches and packed. This means the latent width and height has to be divisible
# by the patch size. So the vae scale factor is multiplied by the patch size to account for this # by the patch size. So the vae scale factor is multiplied by the patch size to account for this
self.image_processor = VaeImageProcessor(vae_scale_factor=self.vae_scale_factor * 2) self.image_processor = VaeImageProcessor(vae_scale_factor=self.vae_scale_factor * 2)
self.vl_processor = processor
self.tokenizer_max_length = 1024 self.tokenizer_max_length = 1024
self.prompt_template_encode = "<|im_start|>system\nDescribe the key features of the input image (color, shape, size, texture, objects, background), then explain how the user's text instruction should alter or modify the image. Generate a new image that meets the user's requirements while maintaining consistency with the original input where appropriate.<|im_end|>\n<|im_start|>user\n<|vision_start|><|image_pad|><|vision_end|>{}<|im_end|>\n<|im_start|>assistant\n" self.prompt_template_encode = "<|im_start|>system\nDescribe the key features of the input image (color, shape, size, texture, objects, background), then explain how the user's text instruction should alter or modify the image. Generate a new image that meets the user's requirements while maintaining consistency with the original input where appropriate.<|im_end|>\n<|im_start|>user\n<|vision_start|><|image_pad|><|vision_end|>{}<|im_end|>\n<|im_start|>assistant\n"
......
...@@ -1892,6 +1892,21 @@ class QwenImageEditPipeline(metaclass=DummyObject): ...@@ -1892,6 +1892,21 @@ class QwenImageEditPipeline(metaclass=DummyObject):
requires_backends(cls, ["torch", "transformers"]) requires_backends(cls, ["torch", "transformers"])
class QwenImageEditPlusPipeline(metaclass=DummyObject):
_backends = ["torch", "transformers"]
def __init__(self, *args, **kwargs):
requires_backends(self, ["torch", "transformers"])
@classmethod
def from_config(cls, *args, **kwargs):
requires_backends(cls, ["torch", "transformers"])
@classmethod
def from_pretrained(cls, *args, **kwargs):
requires_backends(cls, ["torch", "transformers"])
class QwenImageImg2ImgPipeline(metaclass=DummyObject): class QwenImageImg2ImgPipeline(metaclass=DummyObject):
_backends = ["torch", "transformers"] _backends = ["torch", "transformers"]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment