mirror of
https://github.com/leejet/stable-diffusion.cpp.git
synced 2025-12-13 05:48:56 +00:00
style: format code
This commit is contained in:
parent
b1cc40c35c
commit
45d0ebb30c
@ -1231,7 +1231,8 @@ struct PixArtCLIPEmbedder : public Conditioner {
|
|||||||
std::map<std::string, enum ggml_type>& tensor_types,
|
std::map<std::string, enum ggml_type>& tensor_types,
|
||||||
int clip_skip = -1,
|
int clip_skip = -1,
|
||||||
bool use_mask = false,
|
bool use_mask = false,
|
||||||
int mask_pad = 1) : use_mask(use_mask), mask_pad(mask_pad) {
|
int mask_pad = 1)
|
||||||
|
: use_mask(use_mask), mask_pad(mask_pad) {
|
||||||
t5 = std::make_shared<T5Runner>(backend, tensor_types, "text_encoders.t5xxl.transformer");
|
t5 = std::make_shared<T5Runner>(backend, tensor_types, "text_encoders.t5xxl.transformer");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
26
denoiser.hpp
26
denoiser.hpp
@ -1031,7 +1031,8 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
(1.0f -
|
(1.0f -
|
||||||
std::pow(sqrtf(beta_start) +
|
std::pow(sqrtf(beta_start) +
|
||||||
(sqrtf(beta_end) - sqrtf(beta_start)) *
|
(sqrtf(beta_end) - sqrtf(beta_start)) *
|
||||||
((float)i / (TIMESTEPS - 1)), 2));
|
((float)i / (TIMESTEPS - 1)),
|
||||||
|
2));
|
||||||
compvis_sigmas[i] =
|
compvis_sigmas[i] =
|
||||||
std::sqrt((1 - alphas_cumprod[i]) /
|
std::sqrt((1 - alphas_cumprod[i]) /
|
||||||
alphas_cumprod[i]);
|
alphas_cumprod[i]);
|
||||||
@ -1061,7 +1062,8 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
// - pred_prev_sample -> "x_t-1"
|
// - pred_prev_sample -> "x_t-1"
|
||||||
int timestep =
|
int timestep =
|
||||||
roundf(TIMESTEPS -
|
roundf(TIMESTEPS -
|
||||||
i * ((float)TIMESTEPS / steps)) - 1;
|
i * ((float)TIMESTEPS / steps)) -
|
||||||
|
1;
|
||||||
// 1. get previous step value (=t-1)
|
// 1. get previous step value (=t-1)
|
||||||
int prev_timestep = timestep - TIMESTEPS / steps;
|
int prev_timestep = timestep - TIMESTEPS / steps;
|
||||||
// The sigma here is chosen to cause the
|
// The sigma here is chosen to cause the
|
||||||
@ -1088,8 +1090,7 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
vec_x[j] *= std::sqrt(sigma * sigma + 1) /
|
vec_x[j] *= std::sqrt(sigma * sigma + 1) /
|
||||||
sigma;
|
sigma;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// For the subsequent steps after the first one,
|
// For the subsequent steps after the first one,
|
||||||
// at this point x = latents or x = sample, and
|
// at this point x = latents or x = sample, and
|
||||||
// needs to be prescaled with x <- sample / c_in
|
// needs to be prescaled with x <- sample / c_in
|
||||||
@ -1127,8 +1128,7 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
float alpha_prod_t = alphas_cumprod[timestep];
|
float alpha_prod_t = alphas_cumprod[timestep];
|
||||||
// Note final_alpha_cumprod = alphas_cumprod[0] due to
|
// Note final_alpha_cumprod = alphas_cumprod[0] due to
|
||||||
// trailing timestep spacing
|
// trailing timestep spacing
|
||||||
float alpha_prod_t_prev = prev_timestep >= 0 ?
|
float alpha_prod_t_prev = prev_timestep >= 0 ? alphas_cumprod[prev_timestep] : alphas_cumprod[0];
|
||||||
alphas_cumprod[prev_timestep] : alphas_cumprod[0];
|
|
||||||
float beta_prod_t = 1 - alpha_prod_t;
|
float beta_prod_t = 1 - alpha_prod_t;
|
||||||
// 3. compute predicted original sample from predicted
|
// 3. compute predicted original sample from predicted
|
||||||
// noise also called "predicted x_0" of formula (12)
|
// noise also called "predicted x_0" of formula (12)
|
||||||
@ -1220,7 +1220,8 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
(1.0f -
|
(1.0f -
|
||||||
std::pow(sqrtf(beta_start) +
|
std::pow(sqrtf(beta_start) +
|
||||||
(sqrtf(beta_end) - sqrtf(beta_start)) *
|
(sqrtf(beta_end) - sqrtf(beta_start)) *
|
||||||
((float)i / (TIMESTEPS - 1)), 2));
|
((float)i / (TIMESTEPS - 1)),
|
||||||
|
2));
|
||||||
compvis_sigmas[i] =
|
compvis_sigmas[i] =
|
||||||
std::sqrt((1 - alphas_cumprod[i]) /
|
std::sqrt((1 - alphas_cumprod[i]) /
|
||||||
alphas_cumprod[i]);
|
alphas_cumprod[i]);
|
||||||
@ -1238,10 +1239,7 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
(TIMESTEPS / original_steps) *
|
(TIMESTEPS / original_steps) *
|
||||||
(int)floor(i * ((float)original_steps / steps));
|
(int)floor(i * ((float)original_steps / steps));
|
||||||
// 1. get previous step value
|
// 1. get previous step value
|
||||||
int prev_timestep = i >= steps - 1 ? 0 :
|
int prev_timestep = i >= steps - 1 ? 0 : TIMESTEPS - 1 - (TIMESTEPS / original_steps) * (int)floor((i + 1) * ((float)original_steps / steps));
|
||||||
TIMESTEPS - 1 - (TIMESTEPS / original_steps) *
|
|
||||||
(int)floor((i + 1) *
|
|
||||||
((float)original_steps / steps));
|
|
||||||
// Here timestep_s is tau_n' in Algorithm 4. The _s
|
// Here timestep_s is tau_n' in Algorithm 4. The _s
|
||||||
// notation appears to be that from C. Lu,
|
// notation appears to be that from C. Lu,
|
||||||
// "DPM-Solver: A Fast ODE Solver for Diffusion
|
// "DPM-Solver: A Fast ODE Solver for Diffusion
|
||||||
@ -1260,8 +1258,7 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
vec_x[j] *= std::sqrt(sigma * sigma + 1) /
|
vec_x[j] *= std::sqrt(sigma * sigma + 1) /
|
||||||
sigma;
|
sigma;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
float* vec_x = (float*)x->data;
|
float* vec_x = (float*)x->data;
|
||||||
for (int j = 0; j < ggml_nelements(x); j++) {
|
for (int j = 0; j < ggml_nelements(x); j++) {
|
||||||
vec_x[j] *= std::sqrt(sigma * sigma + 1);
|
vec_x[j] *= std::sqrt(sigma * sigma + 1);
|
||||||
@ -1297,8 +1294,7 @@ static void sample_k_diffusion(sample_method_t method,
|
|||||||
float beta_prod_t = 1 - alpha_prod_t;
|
float beta_prod_t = 1 - alpha_prod_t;
|
||||||
// Note final_alpha_cumprod = alphas_cumprod[0] since
|
// Note final_alpha_cumprod = alphas_cumprod[0] since
|
||||||
// TCD is always "trailing"
|
// TCD is always "trailing"
|
||||||
float alpha_prod_t_prev = prev_timestep >= 0 ?
|
float alpha_prod_t_prev = prev_timestep >= 0 ? alphas_cumprod[prev_timestep] : alphas_cumprod[0];
|
||||||
alphas_cumprod[prev_timestep] : alphas_cumprod[0];
|
|
||||||
// The subscript _s are the only portion in this
|
// The subscript _s are the only portion in this
|
||||||
// section (2) unique to TCD
|
// section (2) unique to TCD
|
||||||
float alpha_prod_s = alphas_cumprod[timestep_s];
|
float alpha_prod_s = alphas_cumprod[timestep_s];
|
||||||
|
|||||||
5
flux.hpp
5
flux.hpp
@ -512,7 +512,8 @@ namespace Flux {
|
|||||||
LastLayer(int64_t hidden_size,
|
LastLayer(int64_t hidden_size,
|
||||||
int64_t patch_size,
|
int64_t patch_size,
|
||||||
int64_t out_channels,
|
int64_t out_channels,
|
||||||
bool prune_mod = false) : prune_mod(prune_mod) {
|
bool prune_mod = false)
|
||||||
|
: prune_mod(prune_mod) {
|
||||||
blocks["norm_final"] = std::shared_ptr<GGMLBlock>(new LayerNorm(hidden_size, 1e-06f, false));
|
blocks["norm_final"] = std::shared_ptr<GGMLBlock>(new LayerNorm(hidden_size, 1e-06f, false));
|
||||||
blocks["linear"] = std::shared_ptr<GGMLBlock>(new Linear(hidden_size, patch_size * patch_size * out_channels));
|
blocks["linear"] = std::shared_ptr<GGMLBlock>(new Linear(hidden_size, patch_size * patch_size * out_channels));
|
||||||
if (!prune_mod) {
|
if (!prune_mod) {
|
||||||
@ -744,7 +745,6 @@ namespace Flux {
|
|||||||
return ids;
|
return ids;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Generate positional embeddings
|
// Generate positional embeddings
|
||||||
std::vector<float> gen_pe(int h, int w, int patch_size, int bs, int context_len, std::vector<ggml_tensor*> ref_latents, int theta, const std::vector<int>& axes_dim) {
|
std::vector<float> gen_pe(int h, int w, int patch_size, int bs, int context_len, std::vector<ggml_tensor*> ref_latents, int theta, const std::vector<int>& axes_dim) {
|
||||||
std::vector<std::vector<float>> ids = gen_ids(h, w, patch_size, bs, context_len, ref_latents);
|
std::vector<std::vector<float>> ids = gen_ids(h, w, patch_size, bs, context_len, ref_latents);
|
||||||
@ -962,7 +962,6 @@ namespace Flux {
|
|||||||
|
|
||||||
struct ggml_tensor* process_img(struct ggml_context* ctx,
|
struct ggml_tensor* process_img(struct ggml_context* ctx,
|
||||||
struct ggml_tensor* x) {
|
struct ggml_tensor* x) {
|
||||||
|
|
||||||
int64_t W = x->ne[0];
|
int64_t W = x->ne[0];
|
||||||
int64_t H = x->ne[1];
|
int64_t H = x->ne[1];
|
||||||
int64_t patch_size = 2;
|
int64_t patch_size = 2;
|
||||||
|
|||||||
1
lora.hpp
1
lora.hpp
@ -291,7 +291,6 @@ struct LoraModel : public GGMLRunner {
|
|||||||
std::string hada_2_down_name = "";
|
std::string hada_2_down_name = "";
|
||||||
std::string hada_2_up_name = "";
|
std::string hada_2_up_name = "";
|
||||||
|
|
||||||
|
|
||||||
hada_1_down_name = fk + ".hada_w1_b";
|
hada_1_down_name = fk + ".hada_w1_b";
|
||||||
hada_1_up_name = fk + ".hada_w1_a";
|
hada_1_up_name = fk + ".hada_w1_a";
|
||||||
hada_1_mid_name = fk + ".hada_t1";
|
hada_1_mid_name = fk + ".hada_t1";
|
||||||
|
|||||||
2
model.h
2
model.h
@ -12,9 +12,9 @@
|
|||||||
|
|
||||||
#include "ggml-backend.h"
|
#include "ggml-backend.h"
|
||||||
#include "ggml.h"
|
#include "ggml.h"
|
||||||
|
#include "gguf.h"
|
||||||
#include "json.hpp"
|
#include "json.hpp"
|
||||||
#include "zip.h"
|
#include "zip.h"
|
||||||
#include "gguf.h"
|
|
||||||
|
|
||||||
#define SD_MAX_DIMS 5
|
#define SD_MAX_DIMS 5
|
||||||
|
|
||||||
|
|||||||
@ -48,8 +48,7 @@ const char* sampling_methods_str[] = {
|
|||||||
"iPNDM_v",
|
"iPNDM_v",
|
||||||
"LCM",
|
"LCM",
|
||||||
"DDIM \"trailing\"",
|
"DDIM \"trailing\"",
|
||||||
"TCD"
|
"TCD"};
|
||||||
};
|
|
||||||
|
|
||||||
/*================================================== Helper Functions ================================================*/
|
/*================================================== Helper Functions ================================================*/
|
||||||
|
|
||||||
@ -1973,7 +1972,6 @@ SD_API sd_image_t* img2vid(sd_ctx_t* sd_ctx,
|
|||||||
return result_images;
|
return result_images;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sd_image_t* edit(sd_ctx_t* sd_ctx,
|
sd_image_t* edit(sd_ctx_t* sd_ctx,
|
||||||
sd_image_t* ref_images,
|
sd_image_t* ref_images,
|
||||||
int ref_images_count,
|
int ref_images_count,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user