File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -492,6 +492,27 @@ namespace Qwen {
492492                        bool  flash_attn                     = false )
493493            : GGMLRunner(backend, offload_params_to_cpu) {
494494            qwen_image_params.flash_attn  = flash_attn;
495+ 
496+             int  model_layers         = qwen_image_params.num_layers ;
497+             int  num_layers           = 1 ;
498+             std::string layer_prefix = " transformer_blocks."  ;
499+             if  (prefix.size () > 0 ) {
500+                 layer_prefix = prefix + " ."   + layer_prefix;
501+             }
502+             for  (int  layer = model_layers; layer > num_layers; layer--) {
503+                 std::string layer_name = layer_prefix + std::to_string (layer-1 ) + " .attn.add_k_proj.bias"  ;
504+                 for  (auto  pair : tensor_types) {
505+                     if  (pair.first .find (layer_name) != std::string::npos) {
506+                         num_layers = layer;
507+                         break ;
508+                     }
509+                 }
510+             }
511+             if  (num_layers < model_layers) {
512+                 LOG_INFO (" Qwen Image: some layers missing, assuming pruned model"  );
513+             }
514+ 
515+             qwen_image_params.num_layers  = num_layers;
495516            qwen_image                   = QwenImageModel (qwen_image_params);
496517            qwen_image.init (params_ctx, tensor_types, prefix);
497518        }
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments