File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -560,6 +560,7 @@ int main(int argc, const char* argv[]) {
560
560
561
561
if (results == NULL ) {
562
562
printf (" generate failed\n " );
563
+ free_sd_ctx (sd_ctx);
563
564
return 1 ;
564
565
}
565
566
@@ -600,6 +601,8 @@ int main(int argc, const char* argv[]) {
600
601
free (results[i].data );
601
602
results[i].data = NULL ;
602
603
}
604
+ free (results);
605
+ free_sd_ctx (sd_ctx);
603
606
604
607
return 0 ;
605
608
}
Original file line number Diff line number Diff line change @@ -101,6 +101,7 @@ class StableDiffusionGGML {
101
101
}
102
102
103
103
~StableDiffusionGGML () {
104
+ ggml_backend_free (backend);
104
105
}
105
106
106
107
bool load_from_file (const std::string& model_path,
@@ -626,7 +627,7 @@ class StableDiffusionGGML {
626
627
627
628
// get_ancestral_step
628
629
float sigma_up = std::min (sigmas[i + 1 ],
629
- std::sqrt (sigmas[i + 1 ] * sigmas[i + 1 ] * (sigmas[i] * sigmas[i] - sigmas[i + 1 ] * sigmas[i + 1 ]) / (sigmas[i] * sigmas[i])));
630
+ std::sqrt (sigmas[i + 1 ] * sigmas[i + 1 ] * (sigmas[i] * sigmas[i] - sigmas[i + 1 ] * sigmas[i + 1 ]) / (sigmas[i] * sigmas[i])));
630
631
float sigma_down = std::sqrt (sigmas[i + 1 ] * sigmas[i + 1 ] - sigma_up * sigma_up);
631
632
632
633
// Euler method
@@ -802,7 +803,7 @@ class StableDiffusionGGML {
802
803
803
804
// get_ancestral_step
804
805
float sigma_up = std::min (sigmas[i + 1 ],
805
- std::sqrt (sigmas[i + 1 ] * sigmas[i + 1 ] * (sigmas[i] * sigmas[i] - sigmas[i + 1 ] * sigmas[i + 1 ]) / (sigmas[i] * sigmas[i])));
806
+ std::sqrt (sigmas[i + 1 ] * sigmas[i + 1 ] * (sigmas[i] * sigmas[i] - sigmas[i + 1 ] * sigmas[i + 1 ]) / (sigmas[i] * sigmas[i])));
806
807
float sigma_down = std::sqrt (sigmas[i + 1 ] * sigmas[i + 1 ] - sigma_up * sigma_up);
807
808
auto t_fn = [](float sigma) -> float { return -log (sigma); };
808
809
auto sigma_fn = [](float t) -> float { return exp (-t); };
You can’t perform that action at this time.
0 commit comments