mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-05-17 12:39:09 +00:00
* sd: sync to master-540-f16a110 * tae post-merge fixes * build fixes * restore image mask for non-inpainting models * sd: sync to master-551-99c1de3 * avoid nlohmann/json.hpp include diffs * Euler A now works on Flux * sd: sync to master-555-7397dda avi_writer.h got removed upstream, but I've simply kept the local copy for now. * sd: sync to master-558-8afbeb6 * sd: sync to master-560-e8323ca
61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
#ifndef __SAMPLE_CACHE_H__
|
|
#define __SAMPLE_CACHE_H__
|
|
|
|
#include <vector>
|
|
|
|
#include "cache_dit.hpp"
|
|
#include "denoiser.hpp"
|
|
#include "easycache.hpp"
|
|
#include "model.h"
|
|
#include "spectrum.hpp"
|
|
#include "tensor.hpp"
|
|
#include "ucache.hpp"
|
|
#include "util.h"
|
|
|
|
namespace sd_sample {
|
|
|
|
enum class SampleCacheMode {
|
|
NONE,
|
|
EASYCACHE,
|
|
UCACHE,
|
|
CACHEDIT,
|
|
};
|
|
|
|
struct SampleCacheRuntime {
|
|
SampleCacheMode mode = SampleCacheMode::NONE;
|
|
|
|
EasyCacheState easycache;
|
|
UCacheState ucache;
|
|
CacheDitConditionState cachedit;
|
|
SpectrumState spectrum;
|
|
|
|
bool spectrum_enabled = false;
|
|
|
|
bool easycache_enabled() const;
|
|
bool ucache_enabled() const;
|
|
bool cachedit_enabled() const;
|
|
};
|
|
|
|
struct SampleStepCacheDispatcher {
|
|
SampleCacheRuntime& runtime;
|
|
int step;
|
|
float sigma;
|
|
int step_index;
|
|
|
|
SampleStepCacheDispatcher(SampleCacheRuntime& runtime, int step, float sigma);
|
|
|
|
bool before_condition(const void* condition, const sd::Tensor<float>& input, sd::Tensor<float>* output);
|
|
void after_condition(const void* condition, const sd::Tensor<float>& input, const sd::Tensor<float>& output);
|
|
bool is_step_skipped() const;
|
|
};
|
|
|
|
SampleCacheRuntime init_sample_cache_runtime(SDVersion version,
|
|
const sd_cache_params_t* cache_params,
|
|
Denoiser* denoiser,
|
|
const std::vector<float>& sigmas);
|
|
|
|
void log_sample_cache_summary(const SampleCacheRuntime& runtime, size_t total_steps);
|
|
|
|
} // namespace sd_sample
|
|
|
|
#endif // __SAMPLE_CACHE_H__
|