Skip to content

Commit 6614334

Browse files
authored
refactor: move model file IO into dedicated module (#1442)
1 parent 7023fc4 commit 6614334

13 files changed

Lines changed: 1019 additions & 815 deletions

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,12 @@ endif()
156156

157157
set(SD_LIB stable-diffusion)
158158

159-
file(GLOB SD_LIB_SOURCES
159+
file(GLOB SD_LIB_SOURCES CONFIGURE_DEPENDS
160160
"src/*.h"
161161
"src/*.cpp"
162162
"src/*.hpp"
163+
"src/model_io/*.h"
164+
"src/model_io/*.cpp"
163165
"src/tokenizers/*.h"
164166
"src/tokenizers/*.cpp"
165167
"src/tokenizers/vocab/*.h"

format-code.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
for f in src/*.cpp src/*.h src/*.hpp src/tokenizers/*.h src/tokenizers/*.cpp src/tokenizers/vocab/*.h src/tokenizers/vocab/*.cpp \
2-
examples/cli/*.cpp examples/cli/*.h examples/server/*.cpp \
2+
src/model_io/*.h src/model_io/*.cpp examples/cli/*.cpp examples/cli/*.h examples/server/*.cpp \
33
examples/common/*.hpp examples/common/*.h examples/common/*.cpp; do
44
[[ "$f" == vocab* ]] && continue
55
echo "formatting '$f'"

src/denoiser.hpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@ static sd::Tensor<float> sample_dpmpp_2s_ancestral_flow(denoise_cb_t model,
977977
float eta = 1.0f) {
978978
int steps = static_cast<int>(sigmas.size()) - 1;
979979
for (int i = 0; i < steps; i++) {
980-
float sigma = sigmas[i];
980+
float sigma = sigmas[i];
981981
float sigma_to = sigmas[i + 1];
982982

983983
bool opt_first_step = (1.0 - sigma < 1e-6);
@@ -1040,10 +1040,10 @@ static sd::Tensor<float> sample_dpmpp_2s_ancestral_flow(denoise_cb_t model,
10401040
// and sigma_s = sigma_fn(s) = 1.0f / (exp(s) + 1.0f)
10411041

10421042
float exp_s = std::sqrt(((1 - sigma) / sigma) * ((1 - sigma_down) / sigma_down));
1043-
sigma_s = 1.0f / (exp_s + 1.0f);
1043+
sigma_s = 1.0f / (exp_s + 1.0f);
10441044

10451045
float sigma_s_i_ratio = sigma_s / sigma;
1046-
sd::Tensor<float> u = (x * sigma_s_i_ratio) + (denoised * (1.0f - sigma_s_i_ratio));
1046+
sd::Tensor<float> u = (x * sigma_s_i_ratio) + (denoised * (1.0f - sigma_s_i_ratio));
10471047

10481048
auto denoised2_opt = model(u, sigma_s, i + 1);
10491049
if (denoised2_opt.empty()) {
@@ -1053,7 +1053,7 @@ static sd::Tensor<float> sample_dpmpp_2s_ancestral_flow(denoise_cb_t model,
10531053
}
10541054

10551055
float sigma_down_i_ratio = sigma_down / sigma;
1056-
x = (x * sigma_down_i_ratio) + (D_i * (1.0f - sigma_down_i_ratio));
1056+
x = (x * sigma_down_i_ratio) + (D_i * (1.0f - sigma_down_i_ratio));
10571057

10581058
if (sigma_to > 0.0f && eta > 0.0f) {
10591059
x = alpha_scale * x + sd::Tensor<float>::randn_like(x, rng) * sigma_up;
@@ -1064,8 +1064,6 @@ static sd::Tensor<float> sample_dpmpp_2s_ancestral_flow(denoise_cb_t model,
10641064
return x;
10651065
}
10661066

1067-
1068-
10691067
static sd::Tensor<float> sample_dpmpp_2m(denoise_cb_t model,
10701068
sd::Tensor<float> x,
10711069
const std::vector<float>& sigmas) {

0 commit comments

Comments
 (0)