chore: add .clang-format

This commit is contained in:
leejet 2023-11-19 19:35:33 +08:00
parent 64f6002457
commit 176a00b606
7 changed files with 585 additions and 571 deletions

13
.clang-format Normal file
View File

@ -0,0 +1,13 @@
BasedOnStyle: Chromium
UseTab: Never
IndentWidth: 4
TabWidth: 4
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0
AccessModifierOffset: -4
NamespaceIndentation: All
FixNamespaceComments: false
AlignAfterOpenBracket: true
AlignConsecutiveAssignments: true
IndentCaseLabels: true

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ test/
.cache/ .cache/
*.swp *.swp
.vscode/

View File

@ -88,8 +88,7 @@ const char* sample_method_str[] = {
const char* schedule_str[] = { const char* schedule_str[] = {
"default", "default",
"discrete", "discrete",
"karras" "karras"};
};
struct Option { struct Option {
int n_threads = -1; int n_threads = -1;
@ -129,7 +128,7 @@ struct Option {
printf(" sample_steps: %d\n", sample_steps); printf(" sample_steps: %d\n", sample_steps);
printf(" strength: %.2f\n", strength); printf(" strength: %.2f\n", strength);
printf(" rng: %s\n", rng_type_to_str[rng_type]); printf(" rng: %s\n", rng_type_to_str[rng_type]);
printf(" seed: %lld\n", seed); printf(" seed: %ld\n", seed);
} }
}; };
@ -405,6 +404,7 @@ int main(int argc, const char* argv[]) {
vae_decode_only = false; vae_decode_only = false;
int c = 0; int c = 0;
unsigned char* img_data = stbi_load(opt.init_img.c_str(), &opt.w, &opt.h, &c, 3); unsigned char* img_data = stbi_load(opt.init_img.c_str(), &opt.w, &opt.h, &c, 3);
if (img_data == NULL) { if (img_data == NULL) {
fprintf(stderr, "load image from '%s' failed\n", opt.init_img.c_str()); fprintf(stderr, "load image from '%s' failed\n", opt.init_img.c_str());

6
rng.h
View File

@ -5,16 +5,16 @@
#include <vector> #include <vector>
class RNG { class RNG {
public: public:
virtual void manual_seed(uint64_t seed) = 0; virtual void manual_seed(uint64_t seed) = 0;
virtual std::vector<float> randn(uint32_t n) = 0; virtual std::vector<float> randn(uint32_t n) = 0;
}; };
class STDDefaultRNG : public RNG { class STDDefaultRNG : public RNG {
private: private:
std::default_random_engine generator; std::default_random_engine generator;
public: public:
void manual_seed(uint64_t seed) { void manual_seed(uint64_t seed) {
generator.seed((unsigned int)seed); generator.seed((unsigned int)seed);
} }

View File

@ -9,11 +9,11 @@
// RNG imitiating torch cuda randn on CPU. // RNG imitiating torch cuda randn on CPU.
// Port from: https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/5ef669de080814067961f28357256e8fe27544f4/modules/rng_philox.py // Port from: https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/5ef669de080814067961f28357256e8fe27544f4/modules/rng_philox.py
class PhiloxRNG : public RNG { class PhiloxRNG : public RNG {
private: private:
uint64_t seed; uint64_t seed;
uint32_t offset; uint32_t offset;
private: private:
std::vector<uint32_t> philox_m = {0xD2511F53, 0xCD9E8D57}; std::vector<uint32_t> philox_m = {0xD2511F53, 0xCD9E8D57};
std::vector<uint32_t> philox_w = {0x9E3779B9, 0xBB67AE85}; std::vector<uint32_t> philox_w = {0x9E3779B9, 0xBB67AE85};
float two_pow32_inv = 2.3283064e-10f; float two_pow32_inv = 2.3283064e-10f;
@ -87,7 +87,7 @@ class PhiloxRNG : public RNG {
return r1; return r1;
} }
public: public:
PhiloxRNG(uint64_t seed = 0) { PhiloxRNG(uint64_t seed = 0) {
this->seed = seed; this->seed = seed;
this->offset = 0; this->offset = 0;

View File

@ -322,7 +322,7 @@ const int PAD_TOKEN_ID = 49407;
// Ref: https://github.com/openai/CLIP/blob/main/clip/simple_tokenizer.py // Ref: https://github.com/openai/CLIP/blob/main/clip/simple_tokenizer.py
// TODO: implement bpe // TODO: implement bpe
class CLIPTokenizer { class CLIPTokenizer {
private: private:
ModelType model_type = SD1; ModelType model_type = SD1;
std::map<std::string, int32_t> encoder; std::map<std::string, int32_t> encoder;
std::regex pat; std::regex pat;
@ -345,7 +345,7 @@ class CLIPTokenizer {
return text; return text;
} }
public: public:
CLIPTokenizer(ModelType model_type = SD1) CLIPTokenizer(ModelType model_type = SD1)
: model_type(model_type){}; : model_type(model_type){};
std::string bpe(std::string token) { std::string bpe(std::string token) {
@ -2811,7 +2811,7 @@ struct CompVisVDenoiser : public Denoiser {
/*=============================================== StableDiffusionGGML ================================================*/ /*=============================================== StableDiffusionGGML ================================================*/
class StableDiffusionGGML { class StableDiffusionGGML {
public: public:
ggml_context* clip_params_ctx = NULL; ggml_context* clip_params_ctx = NULL;
ggml_context* unet_params_ctx = NULL; ggml_context* unet_params_ctx = NULL;
ggml_context* vae_params_ctx = NULL; ggml_context* vae_params_ctx = NULL;

View File

@ -38,10 +38,10 @@ enum Schedule {
class StableDiffusionGGML; class StableDiffusionGGML;
class StableDiffusion { class StableDiffusion {
private: private:
std::shared_ptr<StableDiffusionGGML> sd; std::shared_ptr<StableDiffusionGGML> sd;
public: public:
StableDiffusion(int n_threads = -1, StableDiffusion(int n_threads = -1,
bool vae_decode_only = false, bool vae_decode_only = false,
bool free_params_immediately = false, bool free_params_immediately = false,