File tree Expand file tree Collapse file tree 3 files changed +33
-6
lines changed Expand file tree Collapse file tree 3 files changed +33
-6
lines changed Original file line number Diff line number Diff line change @@ -251,6 +251,9 @@ def __init__(
251251            if  hasattr (self , "transformer" ) and  self .transformer  is  not None 
252252            else  128 
253253        )
254+         self .patch_size  =  (
255+             self .transformer .config .patch_size  if  hasattr (self , "transformer" ) and  self .transformer  is  not None  else  2 
256+         )
254257
255258    # Copied from diffusers.pipelines.stable_diffusion_3.pipeline_stable_diffusion_3.StableDiffusion3Pipeline._get_t5_prompt_embeds 
256259    def  _get_t5_prompt_embeds (
@@ -577,8 +580,14 @@ def check_inputs(
577580        callback_on_step_end_tensor_inputs = None ,
578581        max_sequence_length = None ,
579582    ):
580-         if  height  %  8  !=  0  or  width  %  8  !=  0 :
581-             raise  ValueError (f"`height` and `width` have to be divisible by 8 but are { height } { width }  )
583+         if  (
584+             height  %  (self .vae_scale_factor  *  self .patch_size ) !=  0 
585+             or  width  %  (self .vae_scale_factor  *  self .patch_size ) !=  0 
586+         ):
587+             raise  ValueError (
588+                 f"`height` and `width` have to be divisible by { self .vae_scale_factor  *  self .patch_size } { height } { width }  
589+                 f"You can use height { height  -  height  %  (self .vae_scale_factor  *  self .patch_size )} { width  -  width  %  (self .vae_scale_factor  *  self .patch_size )}  
590+             )
582591
583592        if  callback_on_step_end_tensor_inputs  is  not None  and  not  all (
584593            k  in  self ._callback_tensor_inputs  for  k  in  callback_on_step_end_tensor_inputs 
Original file line number Diff line number Diff line change @@ -212,6 +212,9 @@ def __init__(
212212            if  hasattr (self , "transformer" ) and  self .transformer  is  not None 
213213            else  128 
214214        )
215+         self .patch_size  =  (
216+             self .transformer .config .patch_size  if  hasattr (self , "transformer" ) and  self .transformer  is  not None  else  2 
217+         )
215218
216219        self .set_pag_applied_layers (
217220            pag_applied_layers , pag_attn_processors = (PAGCFGJointAttnProcessor2_0 (), PAGJointAttnProcessor2_0 ())
@@ -542,8 +545,14 @@ def check_inputs(
542545        callback_on_step_end_tensor_inputs = None ,
543546        max_sequence_length = None ,
544547    ):
545-         if  height  %  8  !=  0  or  width  %  8  !=  0 :
546-             raise  ValueError (f"`height` and `width` have to be divisible by 8 but are { height } { width }  )
548+         if  (
549+             height  %  (self .vae_scale_factor  *  self .patch_size ) !=  0 
550+             or  width  %  (self .vae_scale_factor  *  self .patch_size ) !=  0 
551+         ):
552+             raise  ValueError (
553+                 f"`height` and `width` have to be divisible by { self .vae_scale_factor  *  self .patch_size } { height } { width }  
554+                 f"You can use height { height  -  height  %  (self .vae_scale_factor  *  self .patch_size )} { width  -  width  %  (self .vae_scale_factor  *  self .patch_size )}  
555+             )
547556
548557        if  callback_on_step_end_tensor_inputs  is  not None  and  not  all (
549558            k  in  self ._callback_tensor_inputs  for  k  in  callback_on_step_end_tensor_inputs 
Original file line number Diff line number Diff line change @@ -203,6 +203,9 @@ def __init__(
203203            if  hasattr (self , "transformer" ) and  self .transformer  is  not None 
204204            else  128 
205205        )
206+         self .patch_size  =  (
207+             self .transformer .config .patch_size  if  hasattr (self , "transformer" ) and  self .transformer  is  not None  else  2 
208+         )
206209
207210    def  _get_t5_prompt_embeds (
208211        self ,
@@ -525,8 +528,14 @@ def check_inputs(
525528        callback_on_step_end_tensor_inputs = None ,
526529        max_sequence_length = None ,
527530    ):
528-         if  height  %  8  !=  0  or  width  %  8  !=  0 :
529-             raise  ValueError (f"`height` and `width` have to be divisible by 8 but are { height } { width }  )
531+         if  (
532+             height  %  (self .vae_scale_factor  *  self .patch_size ) !=  0 
533+             or  width  %  (self .vae_scale_factor  *  self .patch_size ) !=  0 
534+         ):
535+             raise  ValueError (
536+                 f"`height` and `width` have to be divisible by { self .vae_scale_factor  *  self .patch_size } { height } { width }  
537+                 f"You can use height { height  -  height  %  (self .vae_scale_factor  *  self .patch_size )} { width  -  width  %  (self .vae_scale_factor  *  self .patch_size )}  
538+             )
530539
531540        if  callback_on_step_end_tensor_inputs  is  not None  and  not  all (
532541            k  in  self ._callback_tensor_inputs  for  k  in  callback_on_step_end_tensor_inputs 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments