Cleaning up prior to submitting ControlNet PR. Mostly turning off diagnostic printing. Also fixed error when there is no controlnet input.

This commit is contained in:
user1 2023-05-12 10:43:10 -07:00 committed by Kent Keirsey
parent 754acec92f
commit f2b41c60ff
3 changed files with 8 additions and 8 deletions

View File

@ -34,7 +34,7 @@ from .image import ImageOutput, build_image_output, PILInvocationConfig
class ControlField(BaseModel): class ControlField(BaseModel):
image: ImageField = Field(default=None, description="processed image") image: ImageField = Field(default=None, description="processed image")
control_model: Optional[str] = Field(default=None, description="control model used") control_model: Optional[str] = Field(default=None, description="control model used")
control_weight: Optional[float] = Field(default=None, description="weight given to controlnet") control_weight: Optional[float] = Field(default=1, description="weight given to controlnet")
begin_step_percent: float = Field(default=0, ge=0, le=1, begin_step_percent: float = Field(default=0, ge=0, le=1,
description="% of total steps at which controlnet is first applied") description="% of total steps at which controlnet is first applied")
end_step_percent: float = Field(default=1, ge=0, le=1, end_step_percent: float = Field(default=1, ge=0, le=1,
@ -61,7 +61,7 @@ class ControlNetInvocation(BaseInvocation):
# Inputs # Inputs
image: ImageField = Field(default=None, description="image to process") image: ImageField = Field(default=None, description="image to process")
control_model: str = Field(default=None, description="control model to use") control_model: str = Field(default=None, description="control model to use")
control_weight: float = Field(default=0.5, ge=0, le=1, description="weight given to controlnet") control_weight: float = Field(default=1.0, ge=0, le=1, description="weight given to controlnet")
# TODO: add support in backend core for begin_step_percent, end_step_percent, guess_mode # TODO: add support in backend core for begin_step_percent, end_step_percent, guess_mode
begin_step_percent: float = Field(default=0, ge=0, le=1, begin_step_percent: float = Field(default=0, ge=0, le=1,
description="% of total steps at which controlnet is first applied") description="% of total steps at which controlnet is first applied")

View File

@ -260,24 +260,25 @@ class TextToLatentsInvocation(BaseInvocation):
conditioning_data = self.get_conditioning_data(context, model) conditioning_data = self.get_conditioning_data(context, model)
# print("type of control input: ", type(self.control)) # print("type of control input: ", type(self.control))
if self.control is None: if self.control is None:
print("control input is None") # print("control input is None")
control_list = None control_list = None
elif isinstance(self.control, list) and len(self.control) == 0: elif isinstance(self.control, list) and len(self.control) == 0:
print("control input is empty list") # print("control input is empty list")
control_list = None control_list = None
elif isinstance(self.control, ControlField): elif isinstance(self.control, ControlField):
print("control input is ControlField") # print("control input is ControlField")
control_list = [self.control] control_list = [self.control]
elif isinstance(self.control, list) and len(self.control) > 0 and isinstance(self.control[0], ControlField): elif isinstance(self.control, list) and len(self.control) > 0 and isinstance(self.control[0], ControlField):
print("control input is list[ControlField]") # print("control input is list[ControlField]")
control_list = self.control control_list = self.control
else: else:
print("input control is unrecognized:", type(self.control)) #print("input control is unrecognized:", type(self.control))
control_list = None control_list = None
#if (self.control is None or (isinstance(self.control, list) and len(self.control)==0)): #if (self.control is None or (isinstance(self.control, list) and len(self.control)==0)):
if (control_list is None): if (control_list is None):
control_models = None control_models = None
control_data = None
# from above handling, any control that is not None should now be of type list[ControlField] # from above handling, any control that is not None should now be of type list[ControlField]
else: else:
# FIXME: add checks to skip entry if model or image is None # FIXME: add checks to skip entry if model or image is None

View File

@ -670,7 +670,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline):
else: else:
latent_control_input = latent_model_input latent_control_input = latent_model_input
# control_data should be type List[ControlNetData] # control_data should be type List[ControlNetData]
# this loop covers both ControlNet (one ControlNetData in list) # this loop covers both ControlNet (one ControlNetData in list)
# and MultiControlNet (multiple ControlNetData in list) # and MultiControlNet (multiple ControlNetData in list)
for i, control_datum in enumerate(control_data): for i, control_datum in enumerate(control_data):