11from typing import List , Tuple
2- from diffusers .models .autoencoders .autoencoder_kl import AutoencoderKL
3- from invokeai .backend .bria .controlnet_bria import BriaControlModes , BriaMultiControlNetModel
4- from invokeai .backend .bria .controlnet_utils import prepare_control_images
5- from invokeai .backend .bria .pipeline_bria_controlnet import BriaControlNetPipeline
6- from invokeai .app .invocations .bria_controlnet import BriaControlNetField
72
83import torch
4+ from diffusers .models .autoencoders .autoencoder_kl import AutoencoderKL
95from diffusers .schedulers .scheduling_flow_match_euler_discrete import FlowMatchEulerDiscreteScheduler
106
7+ from invokeai .app .invocations .bria_controlnet import BriaControlNetField
118from invokeai .app .invocations .fields import Input , InputField , LatentsField , OutputField
129from invokeai .app .invocations .model import SubModelType , T5EncoderField , TransformerField , VAEField
1310from invokeai .app .invocations .primitives import BaseInvocationOutput , FieldDescriptions
1411from invokeai .app .services .shared .invocation_context import InvocationContext
15- from invokeai .invocation_api import BaseInvocation , Classification , invocation , invocation_output
12+ from invokeai .backend .bria .controlnet_bria import BriaControlModes , BriaMultiControlNetModel
13+ from invokeai .backend .bria .controlnet_utils import prepare_control_images
14+ from invokeai .backend .bria .pipeline_bria_controlnet import BriaControlNetPipeline
1615from invokeai .backend .bria .transformer_bria import BriaTransformer2DModel
16+ from invokeai .invocation_api import BaseInvocation , Classification , invocation , invocation_output
17+
1718
1819@invocation_output ("bria_denoise_output" )
1920class BriaDenoiseInvocationOutput (BaseInvocationOutput ):
@@ -106,7 +107,7 @@ def invoke(self, context: InvocationContext) -> BriaDenoiseInvocationOutput:
106107 assert isinstance (vae , AutoencoderKL )
107108 dtype = transformer .dtype
108109 device = transformer .device
109- latents , pos_embeds , neg_embeds = map ( lambda x : x .to (device , dtype ), (latents , pos_embeds , neg_embeds ))
110+ latents , pos_embeds , neg_embeds = ( x .to (device , dtype ) for x in (latents , pos_embeds , neg_embeds ))
110111
111112 control_model , control_images , control_modes , control_scales = None , None , None , None
112113 if self .control is not None :
@@ -134,7 +135,7 @@ def invoke(self, context: InvocationContext) -> BriaDenoiseInvocationOutput:
134135 width = 1024 ,
135136 height = 1024 ,
136137 controlnet_conditioning_scale = control_scales ,
137- num_inference_steps = self .num_steps ,
138+ num_inference_steps = self .num_steps ,
138139 max_sequence_length = 128 ,
139140 guidance_scale = self .guidance_scale ,
140141 latents = latents ,
@@ -165,21 +166,20 @@ def _prepare_multi_control(
165166 for controlnet in control :
166167 if controlnet is not None :
167168 control_models .append (context .models .load (controlnet .model ).model )
168- control_modes .append (BriaControlModes [controlnet .mode ].value )
169+ control_modes .append (BriaControlModes [controlnet .mode ].value )
169170 control_scales .append (controlnet .conditioning_scale )
170171 try :
171172 control_images .append (context .images .get_pil (controlnet .image .image_name ))
172- except :
173+ except Exception :
173174 raise FileNotFoundError (f"Control image { controlnet .image .image_name } not found. Make sure not to delete the preprocessed image before finishing the pipeline." )
174175
175176 control_model = BriaMultiControlNetModel (control_models ).to (device )
176177 tensored_control_images , tensored_control_modes = prepare_control_images (
177178 vae = vae ,
178- control_images = control_images ,
179- control_modes = control_modes ,
179+ control_images = control_images ,
180+ control_modes = control_modes ,
180181 width = width ,
181182 height = height ,
182- device = device ,
183+ device = device ,
183184 )
184185 return control_model , tensored_control_images , tensored_control_modes , control_scales
185-
0 commit comments