mirror of
https://github.com/leejet/stable-diffusion.cpp.git
synced 2026-05-08 16:28:53 +00:00
refactor: simplify DiscreteFlowDenoiser (#1405)
This commit is contained in:
parent
e8323cabb0
commit
be9f51b25c
@ -658,32 +658,22 @@ inline float time_snr_shift(float alpha, float t) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct DiscreteFlowDenoiser : public Denoiser {
|
struct DiscreteFlowDenoiser : public Denoiser {
|
||||||
float sigmas[TIMESTEPS];
|
|
||||||
float shift = 3.0f;
|
float shift = 3.0f;
|
||||||
|
|
||||||
float sigma_data = 1.0f;
|
|
||||||
|
|
||||||
DiscreteFlowDenoiser(float shift = 3.0f) {
|
DiscreteFlowDenoiser(float shift = 3.0f) {
|
||||||
set_shift(shift);
|
set_shift(shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_parameters() {
|
|
||||||
for (int i = 0; i < TIMESTEPS; i++) {
|
|
||||||
sigmas[i] = t_to_sigma(static_cast<float>(i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void set_shift(float shift) {
|
void set_shift(float shift) {
|
||||||
this->shift = shift;
|
this->shift = shift;
|
||||||
set_parameters();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float sigma_min() override {
|
float sigma_min() override {
|
||||||
return sigmas[0];
|
return t_to_sigma(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
float sigma_max() override {
|
float sigma_max() override {
|
||||||
return sigmas[TIMESTEPS - 1];
|
return t_to_sigma(TIMESTEPS - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
float sigma_to_t(float sigma) override {
|
float sigma_to_t(float sigma) override {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user