Text-to-Image
Diffusers
Safetensors
recoilme commited on
Commit
536e256
·
1 Parent(s): 366f3ba
README.md CHANGED
@@ -11,7 +11,7 @@ datasets:
11
 
12
  *XS Size, Excess Quality (not for now)*
13
 
14
- Train status: 1xRTX5090 / we need more gold / [support us please..](https://huggingface.co/AiArtLab/sdxs-1b#donations)
15
 
16
  <img src="media/gandr.jpg" height="256"/>
17
 
@@ -325,7 +325,7 @@ cd sdxs-1b
325
  pip install -r requirements.txt -U
326
  mkdir datasets
327
  cd datasets
328
- hf download babkasotona/ds1234_noanime_704_vae8x16x --repo-type dataset --local-dir ds1234_noanime_704_vae8x16x
329
  cd ..
330
  nohup accelerate launch train.py &
331
  ```
@@ -337,9 +337,9 @@ nohup accelerate launch train.py &
337
  - **[CaptionEmporium](https://huggingface.co/CaptionEmporium)**
338
 
339
  ## Donations
340
- Thanks for your support! Every $5 equals a full day of RTX 5090 rental and makes the waifu 0.01% better!
341
 
342
- - Euro / dollars / other: Sorry, we can’t accept payments via Patreon or Ko-fi. Please register on [vast.ai](https://cloud.vast.ai/billing/) (this is the GPU provider we use for training the model), top up any amount, and send: Transfer Money / User / Email: vadim-kulibaba@yandex.ru.
343
  - RUB: [donate in rub](https://www.tbank.ru/cf/90ensBQqpJj)
344
  - DOGE: DEw2DR8C7BnF8GgcrfTzUjSnGkuMeJhg83
345
  - BTC: 3JHv9Hb8kEW8zMAccdgCdZGfrHeMhH1rpN
 
11
 
12
  *XS Size, Excess Quality (not for now)*
13
 
14
+ Train status: 1xRTX4090 / we need more gold / [support us please..](https://huggingface.co/AiArtLab/sdxs-1b#donations)
15
 
16
  <img src="media/gandr.jpg" height="256"/>
17
 
 
325
  pip install -r requirements.txt -U
326
  mkdir datasets
327
  cd datasets
328
+ #hf download babkasotona/ds1234_noanime_704_vae8x16x --repo-type dataset --local-dir ds1234_noanime_704_vae8x16x
329
  cd ..
330
  nohup accelerate launch train.py &
331
  ```
 
337
  - **[CaptionEmporium](https://huggingface.co/CaptionEmporium)**
338
 
339
  ## Donations
340
+ Thanks for your support! Every $5 equals a full day of RTX 4090 rental and makes the waifu 0.01% better!
341
 
342
+ - Euro / dollars: sorry, we can’t accept payments via Patreon or Ko-fi. Please register on [vast.ai](https://cloud.vast.ai/billing/) (this is the GPU provider we use for training the model), top up any amount, and transfer: Transfer Money / User / Email: vadim-kulibaba@yandex.ru.
343
  - RUB: [donate in rub](https://www.tbank.ru/cf/90ensBQqpJj)
344
  - DOGE: DEw2DR8C7BnF8GgcrfTzUjSnGkuMeJhg83
345
  - BTC: 3JHv9Hb8kEW8zMAccdgCdZGfrHeMhH1rpN
media/gandr.jpg CHANGED

Git LFS Details

  • SHA256: d83fb24dd5ba3b456d25da5440d6ab6fe2e146e0b1161e34eb875310b8490331
  • Pointer size: 131 Bytes
  • Size of remote file: 654 kB

Git LFS Details

  • SHA256: 39340a140b17b1ae72f0cb8530cbd0d0fd8c5b9eb8321af3d9ab214d6291c74d
  • Pointer size: 131 Bytes
  • Size of remote file: 985 kB
media/girl1.jpg CHANGED

Git LFS Details

  • SHA256: 0f6d0f4af93d8f54395cebbe5915e77d3e2023b2bcc6d21f9c2df0279302f84a
  • Pointer size: 131 Bytes
  • Size of remote file: 138 kB

Git LFS Details

  • SHA256: d344dd7c68de831713287e6226da930b51d973112d9bcf05fa6dfb8cf4487e68
  • Pointer size: 131 Bytes
  • Size of remote file: 190 kB
media/result_grid.jpg CHANGED

Git LFS Details

  • SHA256: 355fc50be3dadb213bf55f0260abbcc65dfed142a621d5b49f1e1ddb0f3aa382
  • Pointer size: 132 Bytes
  • Size of remote file: 7.41 MB

Git LFS Details

  • SHA256: 911e611e463b5022143a5fd6d9cfc0ca9bc56ebcdb2b6dbc47ff0e20903066d7
  • Pointer size: 132 Bytes
  • Size of remote file: 7.65 MB
pipeline_sdxs.py CHANGED
@@ -14,7 +14,7 @@ class SdxsPipelineOutput(BaseOutput):
14
  prompt: Optional[Union[str, List[str]]] = None
15
 
16
  class SdxsPipeline(DiffusionPipeline):
17
- MAX_TEXT_TOKENS = 248
18
 
19
  def __init__(self, vae, text_encoder, processor, tokenizer, unet, scheduler):
20
  super().__init__()
@@ -154,9 +154,8 @@ class SdxsPipeline(DiffusionPipeline):
154
  final_mask = torch.cat([torch.ones((batch_size, 1), device=device, dtype=inputs.attention_mask.dtype), inputs.attention_mask], dim=1)
155
 
156
  return final_embeddings.to(dtype=dtype), final_mask.to(dtype=torch.int64)
 
157
  @torch.no_grad()
158
-
159
-
160
  def encode_text_and_image_naive(self, text: Union[str, List[str]], image: Optional[Union[Image.Image, List[Image.Image], str, List[str]]] = None, scale = 0.5) -> Tuple[torch.Tensor, torch.Tensor]:
161
  # 1. Получаем текстовый эмбеддинг
162
  text_embeds, text_mask = self.encode_text(text)
@@ -276,7 +275,7 @@ class SdxsPipeline(DiffusionPipeline):
276
  height: int = 1408,
277
  width: int = 1024,
278
  num_inference_steps: int = 40,
279
- guidance_scale: float = 5.0,
280
  generator: Optional[torch.Generator] = None,
281
  seed: Optional[int] = None,
282
  output_type: str = "pil",
 
14
  prompt: Optional[Union[str, List[str]]] = None
15
 
16
  class SdxsPipeline(DiffusionPipeline):
17
+ MAX_TEXT_TOKENS = 250
18
 
19
  def __init__(self, vae, text_encoder, processor, tokenizer, unet, scheduler):
20
  super().__init__()
 
154
  final_mask = torch.cat([torch.ones((batch_size, 1), device=device, dtype=inputs.attention_mask.dtype), inputs.attention_mask], dim=1)
155
 
156
  return final_embeddings.to(dtype=dtype), final_mask.to(dtype=torch.int64)
157
+
158
  @torch.no_grad()
 
 
159
  def encode_text_and_image_naive(self, text: Union[str, List[str]], image: Optional[Union[Image.Image, List[Image.Image], str, List[str]]] = None, scale = 0.5) -> Tuple[torch.Tensor, torch.Tensor]:
160
  # 1. Получаем текстовый эмбеддинг
161
  text_embeds, text_mask = self.encode_text(text)
 
275
  height: int = 1408,
276
  width: int = 1024,
277
  num_inference_steps: int = 40,
278
+ guidance_scale: float = 4.0,
279
  generator: Optional[torch.Generator] = None,
280
  seed: Optional[int] = None,
281
  output_type: str = "pil",
samples/unet_384x704_0.jpg CHANGED

Git LFS Details

  • SHA256: bf848d753a9989110c56b232ab5df900c5a01dd17a6ca9f60e8d5958bfcacb43
  • Pointer size: 131 Bytes
  • Size of remote file: 299 kB

Git LFS Details

  • SHA256: 680b63c15b341f9fcec23e1b7c76d0b59d7a6ff899d8035eebded65886e29674
  • Pointer size: 131 Bytes
  • Size of remote file: 285 kB
samples/unet_416x704_0.jpg CHANGED

Git LFS Details

  • SHA256: 0bcfbeccfc9f6f9e8a2cfe3a560f14601695f1faa00b7c4e26818ca99eeb85b7
  • Pointer size: 131 Bytes
  • Size of remote file: 278 kB

Git LFS Details

  • SHA256: 6de5a7be2aeff09e42e5e0ee8597f88e1030ed7797d1bcf438623ea9c9ea7745
  • Pointer size: 131 Bytes
  • Size of remote file: 346 kB
samples/unet_448x704_0.jpg CHANGED

Git LFS Details

  • SHA256: eb1428d341327e0e0a1d3787e000f52f3c7df3350e68d527d85ff9e4bba27405
  • Pointer size: 131 Bytes
  • Size of remote file: 336 kB

Git LFS Details

  • SHA256: e749127e270db46eded2e9c233fbce030111bbb673bed0fc0a0a66ce179a2627
  • Pointer size: 131 Bytes
  • Size of remote file: 460 kB
samples/unet_480x704_0.jpg CHANGED

Git LFS Details

  • SHA256: b8a6b186c2c8d5230a273973af33325374021581ad96763f8048ae71e00af114
  • Pointer size: 131 Bytes
  • Size of remote file: 300 kB

Git LFS Details

  • SHA256: a1967c5707782a6c5442f5fa18af667e1aab712995720f6483c758d49e350e17
  • Pointer size: 131 Bytes
  • Size of remote file: 332 kB
samples/unet_512x704_0.jpg CHANGED

Git LFS Details

  • SHA256: e70ff6d99ef644af183b1da1b9ad1f96dfb11932465b9da69b5344bbf294b4cc
  • Pointer size: 131 Bytes
  • Size of remote file: 473 kB

Git LFS Details

  • SHA256: af26940428f0e519b63d62972805902bc30c8aad95ecaaf531797cc489630b51
  • Pointer size: 131 Bytes
  • Size of remote file: 306 kB
samples/unet_544x704_0.jpg CHANGED

Git LFS Details

  • SHA256: e86b74a29a4c783a441f8f81dfef4b28849baaff5f25efb631c8df0576d60879
  • Pointer size: 131 Bytes
  • Size of remote file: 526 kB

Git LFS Details

  • SHA256: db1a706159776b29627e9f5eb8d5f5830c05c8dc99c9a82ae20731c517073a9e
  • Pointer size: 131 Bytes
  • Size of remote file: 431 kB
samples/unet_576x704_0.jpg CHANGED

Git LFS Details

  • SHA256: f67d1a3857060c4cc50ae70be04845a41872a4d506058c101aeb5670e7542fc1
  • Pointer size: 131 Bytes
  • Size of remote file: 383 kB

Git LFS Details

  • SHA256: a31d5aee19ee6601f5a8a42839218d245c52f6df702f51d5d74c1990710d08a3
  • Pointer size: 131 Bytes
  • Size of remote file: 423 kB
samples/unet_608x704_0.jpg CHANGED

Git LFS Details

  • SHA256: 194ed8269757b0916bf1ab4718497800b4ed1a5722910e884227528311a5e0d9
  • Pointer size: 131 Bytes
  • Size of remote file: 538 kB

Git LFS Details

  • SHA256: 3c8de5dfb078a6070b9e34cdaddb09230b75f491831f803ce9c0f9c5c58a548c
  • Pointer size: 131 Bytes
  • Size of remote file: 354 kB
samples/unet_640x704_0.jpg CHANGED

Git LFS Details

  • SHA256: 33160838de971327a3c175eee5b1c8ac26bacdb1e097a67f64ef623f19d16f3a
  • Pointer size: 131 Bytes
  • Size of remote file: 579 kB

Git LFS Details

  • SHA256: 87f3be5e25d24318d89ce043412c7cc0b8479fc741244a37a1769e57662ceb68
  • Pointer size: 131 Bytes
  • Size of remote file: 719 kB
samples/unet_672x704_0.jpg CHANGED

Git LFS Details

  • SHA256: 51a46cbb0f3c3605b3bb2093c7d784cce1f526aa208c65514a14391c142d4832
  • Pointer size: 131 Bytes
  • Size of remote file: 295 kB

Git LFS Details

  • SHA256: dcfa51d530b4d889e2df366dfc81177e9aaf9f51cfb1874627952f2e11a7025f
  • Pointer size: 131 Bytes
  • Size of remote file: 818 kB
samples/unet_704x384_0.jpg CHANGED

Git LFS Details

  • SHA256: 885c0c592e8a9aa84bb7a443ec3a5e71ad2be9c403668f05acf85eb597047084
  • Pointer size: 131 Bytes
  • Size of remote file: 374 kB

Git LFS Details

  • SHA256: 4790e0b37121c72b8907816422ed1bd1718240034d56a82afbc51cbc3eb160e0
  • Pointer size: 131 Bytes
  • Size of remote file: 474 kB
samples/unet_704x416_0.jpg CHANGED

Git LFS Details

  • SHA256: 2969a4fa8c0bb11ac1f60f27574d731b6063cf3f2b7e189a101587548c360586
  • Pointer size: 131 Bytes
  • Size of remote file: 366 kB

Git LFS Details

  • SHA256: d5dff78e40c12e567cf8d64b73e050615a9f04dbb1166c79dea53e352d1c7f90
  • Pointer size: 131 Bytes
  • Size of remote file: 278 kB
samples/unet_704x448_0.jpg CHANGED

Git LFS Details

  • SHA256: 94792e1e4072aa884d2455d27829af9dc0a8f16f62d362688597a7f9a7ed9c40
  • Pointer size: 131 Bytes
  • Size of remote file: 351 kB

Git LFS Details

  • SHA256: 6e470184855400b1bd875166ed8801be721b007d8d0e8d4d3e0284fa4dd82323
  • Pointer size: 131 Bytes
  • Size of remote file: 270 kB
samples/unet_704x480_0.jpg CHANGED

Git LFS Details

  • SHA256: c989609c5266704d7196ec28621208945d65524773a7cb0f9ac6dbfc1d11bbb4
  • Pointer size: 131 Bytes
  • Size of remote file: 296 kB

Git LFS Details

  • SHA256: dce43a308b147925c8361fb8f2ab4b7f9e79ea6f09cacdb460e999b1539b6fb7
  • Pointer size: 131 Bytes
  • Size of remote file: 668 kB
samples/unet_704x512_0.jpg CHANGED

Git LFS Details

  • SHA256: 8e214495714497b8c76b9a59d469bedea56d9129f644b4a1138409503063418d
  • Pointer size: 131 Bytes
  • Size of remote file: 661 kB

Git LFS Details

  • SHA256: 55851cfd11ec62c3f110a20db609b8e3845fc51cacbb0d2edc85d8f09f0dcd9e
  • Pointer size: 131 Bytes
  • Size of remote file: 276 kB
samples/unet_704x544_0.jpg CHANGED

Git LFS Details

  • SHA256: be99c668ced300d9f32ce9126b3d2ddeeba553de22c4110b06a858690b60071c
  • Pointer size: 131 Bytes
  • Size of remote file: 477 kB

Git LFS Details

  • SHA256: e958110bcfba1177242a786d293bfc1850d7be4ae82f0ca9a1cf4f2c75dbe2b3
  • Pointer size: 131 Bytes
  • Size of remote file: 313 kB
samples/unet_704x576_0.jpg CHANGED

Git LFS Details

  • SHA256: 79b1abd7e88824aeccf50f766bb09ee229c13cf0bbffa6b2c804c2ea6f37317e
  • Pointer size: 131 Bytes
  • Size of remote file: 617 kB

Git LFS Details

  • SHA256: 5c52c8626908c5e93b796106c43c927310176affb2898f4509607e408db27246
  • Pointer size: 131 Bytes
  • Size of remote file: 318 kB
samples/unet_704x608_0.jpg CHANGED

Git LFS Details

  • SHA256: d4ce5f5a5608670f1a836e27c73395a5e1cbc76ebbf52f59b7dc20c2962535d5
  • Pointer size: 131 Bytes
  • Size of remote file: 342 kB

Git LFS Details

  • SHA256: 1f7bffdd08302a6b38d4214f9c237eeb66825a1b5409643c1c60226c35e8576b
  • Pointer size: 131 Bytes
  • Size of remote file: 890 kB
samples/unet_704x640_0.jpg CHANGED

Git LFS Details

  • SHA256: 1718d71a964817e4bd08ea5fdc578a56cc867682746ad343c0acf69902ac9e8a
  • Pointer size: 131 Bytes
  • Size of remote file: 400 kB

Git LFS Details

  • SHA256: 05dab5f3d2361682e62230fc9f3cc90bce8c7ee67c5bae9caf35b253a291f0a5
  • Pointer size: 131 Bytes
  • Size of remote file: 777 kB
samples/unet_704x672_0.jpg CHANGED

Git LFS Details

  • SHA256: fbb675cf82d87d974a52584b72e2f789b3cc4a2a2b81304f7da04e5777de24ea
  • Pointer size: 131 Bytes
  • Size of remote file: 517 kB

Git LFS Details

  • SHA256: ddfdab250334a521b6c89c0968f69b0c2c2330d772f5caabca2cfa8bc9bbd298
  • Pointer size: 131 Bytes
  • Size of remote file: 761 kB
samples/unet_704x704_0.jpg CHANGED

Git LFS Details

  • SHA256: b91fe27b8edb9433d32ba5e5db355ed4365f996cff8339e7e734850743d1f07f
  • Pointer size: 131 Bytes
  • Size of remote file: 222 kB

Git LFS Details

  • SHA256: 6001247631d05a303c9e5b8117d680d22774da1b7ea7e6bbb7e6777c3dd523ef
  • Pointer size: 131 Bytes
  • Size of remote file: 577 kB
test.ipynb CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f2ef4cc2b7ae0fb40a388690c323f3921b448465471d00bdfeb71ce50ca01961
3
- size 17615512
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f490d6558ed482b844dcac5723d174fe4bd5a13f4767641cff9c306ee05f385
3
+ size 17750930
train.py CHANGED
@@ -32,7 +32,7 @@ os.environ["NCCL_IB_DISABLE"] = "1" # comment this on H100!
32
  os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True"
33
 
34
  # --------------------------- Параметры ---------------------------
35
- ds_path = "datasets/ds1234_noanime_704_vae8x16x" #alchemist_704_vae8x16x_imgpool"
36
  project = "unet"
37
 
38
  gpu_mem_gb = torch.cuda.get_device_properties(0).total_memory / 1e9
@@ -62,7 +62,7 @@ use_wandb = True
62
  use_comet_ml = False
63
  save_model = True
64
  use_decay = True
65
- fbp = False
66
  torch_compile = False
67
  unet_gradient = True
68
  loss_normalize = False
@@ -83,13 +83,13 @@ torch.backends.cuda.enable_math_sdp(False) # Отключаем медленны
83
  save_barrier = 1.25
84
  warmup_percent = 0.0025
85
  betta2 = 0.997
86
- eps = 1e-7
87
  clip_grad_norm = 1.0
88
  limit = 0
89
  checkpoints_folder = ""
90
  gradient_accumulation_steps = 1
91
  dtype = torch.float32
92
- mixed_precision = "no"
93
 
94
  # Параметры для диффузии
95
  n_diffusion_steps = 40
@@ -461,11 +461,11 @@ else:
461
  def create_optimizer(name, params):
462
  if name == "adam8bit":
463
  return bnb.optim.AdamW8bit(
464
- params, lr=base_learning_rate, betas=(0.9, betta2), eps=eps, weight_decay=0.01
465
  )
466
  elif name == "adam":
467
  return torch.optim.AdamW(
468
- params, lr=base_learning_rate, betas=(0.9, betta2), eps=eps, weight_decay=0.01
469
  )
470
  elif name == "muon_adam8bit":
471
  return MuonAdamW8bit(
@@ -799,6 +799,8 @@ for epoch in range(start_epoch, start_epoch + num_epochs):
799
 
800
  # 3. Время t, bias = -0.5 (Фокус на Деталях ~300) bias = 0.5 (Фокус на структуре) bias = 0 (колокол/ равномерно)
801
  bias = 0.2
 
 
802
  t = torch.sigmoid(torch.randn(latents.shape[0], device=latents.device, dtype=latents.dtype) + bias)
803
 
804
  # интерполяция между x0 и шумом
 
32
  os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True"
33
 
34
  # --------------------------- Параметры ---------------------------
35
+ ds_path = "datasets/alchemist_704_vae8x16x_imgpool" #ds1234_noanime_704_vae8x16x" #"
36
  project = "unet"
37
 
38
  gpu_mem_gb = torch.cuda.get_device_properties(0).total_memory / 1e9
 
62
  use_comet_ml = False
63
  save_model = True
64
  use_decay = True
65
+ fbp = True
66
  torch_compile = False
67
  unet_gradient = True
68
  loss_normalize = False
 
83
  save_barrier = 1.25
84
  warmup_percent = 0.0025
85
  betta2 = 0.997
86
+ eps = 1e-6
87
  clip_grad_norm = 1.0
88
  limit = 0
89
  checkpoints_folder = ""
90
  gradient_accumulation_steps = 1
91
  dtype = torch.float32
92
+ mixed_precision = "bf16"
93
 
94
  # Параметры для диффузии
95
  n_diffusion_steps = 40
 
461
  def create_optimizer(name, params):
462
  if name == "adam8bit":
463
  return bnb.optim.AdamW8bit(
464
+ params, lr=base_learning_rate, betas=(0.9, betta2), eps=eps, weight_decay=0.001
465
  )
466
  elif name == "adam":
467
  return torch.optim.AdamW(
468
+ params, lr=base_learning_rate, betas=(0.9, betta2), eps=eps, weight_decay=0.001
469
  )
470
  elif name == "muon_adam8bit":
471
  return MuonAdamW8bit(
 
799
 
800
  # 3. Время t, bias = -0.5 (Фокус на Деталях ~300) bias = 0.5 (Фокус на структуре) bias = 0 (колокол/ равномерно)
801
  bias = 0.2
802
+ if lvl>3:
803
+ bias = -0.2
804
  t = torch.sigmoid(torch.randn(latents.shape[0], device=latents.device, dtype=latents.dtype) + bias)
805
 
806
  # интерполяция между x0 и шумом
unet/diffusion_pytorch_model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:998fdcb3b5d267ed5ed987ee9649935ca646ca85b8f81e153fb395a14f575d5b
3
  size 3210307232
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:656fb4709a2c0a80f31787fd508c946b569a63d4b700aa8817bdc1e77ac4b163
3
  size 3210307232