@@ -142,6 +142,11 @@ struct SDRequestParams {
142
142
float skip_layer_end = 0.2 ;
143
143
bool normalize_input = false ;
144
144
145
+ float apg_eta = 1 .0f ;
146
+ float apg_momentum = 0 .0f ;
147
+ float apg_norm_threshold = 0 .0f ;
148
+ float apg_norm_smoothing = 0 .0f ;
149
+
145
150
sd_preview_t preview_method = SD_PREVIEW_NONE;
146
151
int preview_interval = 1 ;
147
152
};
@@ -742,6 +747,28 @@ std::string get_image_params(SDParams params, int64_t seed) {
742
747
}
743
748
parameter_string += " Steps: " + std::to_string (params.lastRequest .sample_steps ) + " , " ;
744
749
parameter_string += " CFG scale: " + std::to_string (params.lastRequest .cfg_scale ) + " , " ;
750
+ if (params.lastRequest .apg_eta != 1 ) {
751
+ parameter_string += " APG eta: " + std::to_string (params.lastRequest .apg_eta ) + " , " ;
752
+ }
753
+ if (params.lastRequest .apg_momentum != 0 ) {
754
+ parameter_string += " CFG momentum: " + std::to_string (params.lastRequest .apg_momentum ) + " , " ;
755
+ }
756
+ if (params.lastRequest .apg_norm_threshold != 0 ) {
757
+ parameter_string += " CFG normalization threshold: " + std::to_string (params.lastRequest .apg_norm_threshold ) + " , " ;
758
+ if (params.lastRequest .apg_norm_smoothing != 0 ) {
759
+ parameter_string += " CFG normalization threshold: " + std::to_string (params.lastRequest .apg_norm_smoothing ) + " , " ;
760
+ }
761
+ }
762
+ if (params.lastRequest .slg_scale != 0 && params.lastRequest .skip_layers .size () != 0 ) {
763
+ parameter_string += " SLG scale: " + std::to_string (params.lastRequest .cfg_scale ) + " , " ;
764
+ parameter_string += " Skip layers: [" ;
765
+ for (const auto & layer : params.lastRequest .skip_layers ) {
766
+ parameter_string += std::to_string (layer) + " , " ;
767
+ }
768
+ parameter_string += " ], " ;
769
+ parameter_string += " Skip layer start: " + std::to_string (params.lastRequest .skip_layer_start ) + " , " ;
770
+ parameter_string += " Skip layer end: " + std::to_string (params.lastRequest .skip_layer_end ) + " , " ;
771
+ }
745
772
parameter_string += " Guidance: " + std::to_string (params.lastRequest .guidance ) + " , " ;
746
773
parameter_string += " Seed: " + std::to_string (seed) + " , " ;
747
774
parameter_string += " Size: " + std::to_string (params.lastRequest .width ) + " x" + std::to_string (params.lastRequest .height ) + " , " ;
@@ -1151,7 +1178,7 @@ bool parseJsonPrompt(std::string json_str, SDParams* params) {
1151
1178
}
1152
1179
} catch (...) {
1153
1180
}
1154
-
1181
+ // TODO SLG and APG params
1155
1182
return updatectx;
1156
1183
}
1157
1184
@@ -1427,11 +1454,15 @@ void start_server(SDParams params) {
1427
1454
params.lastRequest .style_ratio ,
1428
1455
params.lastRequest .normalize_input ,
1429
1456
params.input_id_images_path .c_str (),
1430
- params.lastRequest .skip_layers .data (),
1431
- params.lastRequest .skip_layers .size (),
1432
- params.lastRequest .slg_scale ,
1433
- params.lastRequest .skip_layer_start ,
1434
- params.lastRequest .skip_layer_end );
1457
+ sd_slg_params_t {params.lastRequest .skip_layers .data (),
1458
+ params.lastRequest .skip_layers .size (),
1459
+ params.lastRequest .slg_scale ,
1460
+ params.lastRequest .skip_layer_start ,
1461
+ params.lastRequest .skip_layer_end },
1462
+ sd_apg_params_t {params.lastRequest .apg_eta ,
1463
+ params.lastRequest .apg_momentum ,
1464
+ params.lastRequest .apg_norm_threshold ,
1465
+ params.lastRequest .apg_norm_smoothing });
1435
1466
1436
1467
if (results == NULL ) {
1437
1468
printf (" generate failed\n " );
0 commit comments