Instructions to use cpral/HomeIMG-1.2B-PL-EN-epoch34 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use cpral/HomeIMG-1.2B-PL-EN-epoch34 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("cpral/HomeIMG-1.2B-PL-EN-epoch34", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("cpral/HomeIMG-1.2B-PL-EN-epoch34", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]HomeIMG-1.2B-PL-EN-epoch34
Etap pośredni curriculum: HomeIMG-1.2B-PL-EN-epoch22 trenowany dalej przez 12 epok w 64×64 px. To pierwszy krok planu 64 → 96 → 128 → 256 px: w niskiej rozdzielczości obraz to tylko 16 tokenów, więc model tanio ćwiczy kompozycję i rozumienie promptu na wielu przejściach przez dane.
Ten model generuje dobrze tylko w 64×64 px. W 256 px wyniki są złe: model po 12 epokach w 64 px utracił umiejętność generowania w 256 px. Do 256 px używaj HomeIMG-1.2B-PL-EN-epoch22; 256 px wróci w kolejnych etapach curriculum.
„epoch34”: denoiser trenował łącznie 34 epoki: 15 po angielsku ze Slayer149 (256 px), 4 dwujęzyczne z Poziomką (6 bloków, 256 px), 3 dwujęzyczne po powiększeniu do 12 bloków (256 px) i 12 dwujęzycznych w 64 px.
64×64 px (rozdzielczość treningu):
256×256 px (dla porównania; nie do użytku):
Te same 8 promptów co w poprzednich wydaniach, seed 0 (para k ma ten sam szum), 50 kroków Eulera, CFG 3,0, wagi EMA.
Wyniki
- EMA val/loss w 64 px: 0,7568 (velocity MSE na 4096 odłożonych obrazach, w 64 px). Spadała jeszcze na końcu (0,7573 na kroku 16 384). Nie jest porównywalna z val/loss w 256 px z poprzednich wydań (0,6170): w 64 px zadanie ma inną skalę.
- 256 px: złe obrazy, zobacz drugi grid. FD-DINOv2 nie był mierzony.
Trening
- Start: wagi EMA HomeIMG-1.2B-PL-EN-epoch22 (12 bloków, 1235M).
- Dane: QLNI/FLUX-Reason-6M-flux2-latents, 5,88 mln obrazów, przeskalowanych do 64×64 px: każdy latent 256 px odkodowany pełnym dekoderem FLUX.2, zmniejszony bicubic z antyaliasingiem i zakodowany z powrotem enkoderem FLUX.2 (latent 4×4×128). Captiony w 50% po polsku (cpral/FLUX-Reason-6M-captions-pl).
- Długość: 12 epok, 17 227 kroków × 4096 = 70,6 mln próbek.
- Cel: rectified flow,
z_t = (1−t)·x + t·ε, celε − x, MSE, t ~ logit-normal(0, 1), bez przesunięcia harmonogramu dla niskiej rozdzielczości; 10% promptów zastąpionych pustym. Bez REPA. - Optymalizator: jak w epoch22: MuLoCo (8 replik uśrednianych co 64 kroki), Muon (CMuon, lr 3e-3, momentum w bf16, Newton-Schulz co 3. krok), AdamW na reszcie.
- Sprzęt: 8× RTX 3090 Ti, bf16. Każda karta trenuje i liczy też swoją Poziomkę: captiony pakowane bez paddingu (varlen attention), skompilowane normy, router i attention. Ok. 900–1250 obrazów/s.
- W 64 px ok. 70% obliczeń to tekst (Poziomka, refiner i projekcje K/V tekstu w cross-attention), a nie obraz, więc niska rozdzielczość przyspiesza trening mniej, niż wynikałoby z liczby tokenów obrazu.
Kod: https://github.com/adamo1139/trenowanie_generatora_obrazkow (train_pp.py --res 64, prepare_lowres.py)
Użycie
import torch
from diffusers import DiffusionPipeline
REPO = "cpral/HomeIMG-1.2B-PL-EN-epoch34"
pipe = DiffusionPipeline.from_pretrained(REPO, custom_pipeline=REPO, trust_remote_code=True).to("cuda")
image = pipe("rudy kot śpiący na parapecie, fotografia", num_inference_steps=50, guidance_scale=3.0,
generator=torch.Generator("cuda").manual_seed(0)).images[0] # 64x64 px
image.save("kot.png")
Domyślnie pipeline generuje 64×64 px (rozdzielczość treningu). Parametr resolution= przyjmuje inne kwadratowe
rozmiary (wielokrotność 16), ale ten model daje dobre wyniki tylko w 64 px. Repozytorium zawiera Poziomkę
(text_encoder/, bf16, eksperci w int8) i jej tokenizer; potrzebne są diffusers z AutoencoderKLFlux2.
Ograniczenia
- Tylko 64×64 px. W 256 px model jest wyraźnie gorszy niż epoch22. To checkpoint pośredni curriculum, a nie model do generowania w zwykłej rozdzielczości.
- W 64 px nie ma miejsca na detale: twarze, tekst i drobne obiekty są tylko zarysem.
- Polskie captiony to tłumaczenia maszynowe modelu 2B; uprzedzenia danych treningowych.
Licencja
Refiner, denoiser i kod: Apache-2.0. text_encoder/ zawiera też wagi
Poziomki-Bazy (zamrożone, eksperci w int8) na jej licencji,
openmdw-1.1. vae/: FLUX.2 small decoder © Black Forest Labs, Apache-2.0, bez zmian. Dane mają własne warunki,
zobacz karty zbiorów danych.
- Downloads last month
- 20
Model tree for cpral/HomeIMG-1.2B-PL-EN-epoch34
Base model
cpral/HomeIMG-641M-epoch15


