1
1
from 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
7
2
8
3
import torch
4
+ from diffusers .models .autoencoders .autoencoder_kl import AutoencoderKL
9
5
from diffusers .schedulers .scheduling_flow_match_euler_discrete import FlowMatchEulerDiscreteScheduler
10
6
7
+ from invokeai .app .invocations .bria_controlnet import BriaControlNetField
11
8
from invokeai .app .invocations .fields import Input , InputField , LatentsField , OutputField
12
9
from invokeai .app .invocations .model import SubModelType , T5EncoderField , TransformerField , VAEField
13
10
from invokeai .app .invocations .primitives import BaseInvocationOutput , FieldDescriptions
14
11
from 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
16
15
from invokeai .backend .bria .transformer_bria import BriaTransformer2DModel
16
+ from invokeai .invocation_api import BaseInvocation , Classification , invocation , invocation_output
17
+
17
18
18
19
@invocation_output ("bria_denoise_output" )
19
20
class BriaDenoiseInvocationOutput (BaseInvocationOutput ):
@@ -106,7 +107,7 @@ def invoke(self, context: InvocationContext) -> BriaDenoiseInvocationOutput:
106
107
assert isinstance (vae , AutoencoderKL )
107
108
dtype = transformer .dtype
108
109
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 ))
110
111
111
112
control_model , control_images , control_modes , control_scales = None , None , None , None
112
113
if self .control is not None :
@@ -134,7 +135,7 @@ def invoke(self, context: InvocationContext) -> BriaDenoiseInvocationOutput:
134
135
width = 1024 ,
135
136
height = 1024 ,
136
137
controlnet_conditioning_scale = control_scales ,
137
- num_inference_steps = self .num_steps ,
138
+ num_inference_steps = self .num_steps ,
138
139
max_sequence_length = 128 ,
139
140
guidance_scale = self .guidance_scale ,
140
141
latents = latents ,
@@ -165,21 +166,20 @@ def _prepare_multi_control(
165
166
for controlnet in control :
166
167
if controlnet is not None :
167
168
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 )
169
170
control_scales .append (controlnet .conditioning_scale )
170
171
try :
171
172
control_images .append (context .images .get_pil (controlnet .image .image_name ))
172
- except :
173
+ except Exception :
173
174
raise FileNotFoundError (f"Control image { controlnet .image .image_name } not found. Make sure not to delete the preprocessed image before finishing the pipeline." )
174
175
175
176
control_model = BriaMultiControlNetModel (control_models ).to (device )
176
177
tensored_control_images , tensored_control_modes = prepare_control_images (
177
178
vae = vae ,
178
- control_images = control_images ,
179
- control_modes = control_modes ,
179
+ control_images = control_images ,
180
+ control_modes = control_modes ,
180
181
width = width ,
181
182
height = height ,
182
- device = device ,
183
+ device = device ,
183
184
)
184
185
return control_model , tensored_control_images , tensored_control_modes , control_scales
185
-
0 commit comments