1 Punkte von GN⁺ 2026-01-19 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Reine C-Implementierung zur Bildgenerierung mit dem FLUX.2-klein-4B-Modell auf Basis von Text- oder Bildeingaben
  • Läuft ohne externe Abhängigkeiten und kann optional per BLAS- oder Metal-Beschleunigung um bis zu das 30-Fache schneller werden
  • Qwen3-4B-Text-Encoder ist integriert, sodass kein separater Embedding-Berechnungsschritt nötig ist
  • Unterstützt sowohl Text-zu-Bild als auch Bild-zu-Bild-Transformation und bietet eine Kommandozeilenoberfläche sowie eine C-Bibliotheks-API
  • Kann ohne Python-Runtime oder PyTorch ausgeführt werden und ist damit relevant für leichtgewichtige Inferenzumgebungen und einen breiteren Zugang zu Open-Source-AI

Projektüberblick

  • FLUX.2-klein-4B ist ein Bildgenerierungsmodell von Black Forest Labs, das aus Text-Prompts oder vorhandenen Bildern neue Bilder erzeugt
  • Der gesamte Code ist ausschließlich mit der Standard-C-Bibliothek geschrieben, mit optionaler Unterstützung für MPS (Apple Metal) und BLAS (OpenBLAS)
  • Das Modell kann von HuggingFace mit einer Größe von rund 16GB heruntergeladen werden und besteht aus VAE (300MB), Transformer (4GB), Qwen3-4B-Encoder (8GB) und Tokenizer

Hauptfunktionen

  • Zero dependencies: Kann ohne externe Bibliotheken eigenständig ausgeführt werden
    • Bei Nutzung von BLAS etwa 30-fache Beschleunigung, unter macOS mit Apple Accelerate, unter Linux mit OpenBLAS
  • Metal GPU acceleration: Wird in Apple-Silicon-Umgebungen automatisch aktiviert
  • Text-to-image: Bildgenerierung aus Text-Prompts
  • Image-to-image: Transformation vorhandener Bilder anhand eines Prompts
  • Integrated text encoder: Qwen3-4B-Encoder integriert, keine externen Embeddings erforderlich
  • Memory efficient: Nach dem Encoding wird der Encoder-Speicher automatisch freigegeben, was rund 8GB spart

Nutzungsbeispiele

  • Bild aus Text erzeugen
    ./flux -d flux-klein-model -p "A fluffy orange cat sitting on a windowsill" -o cat.png
    
  • Bild transformieren
    ./flux -d flux-klein-model -i photo.png -o painting.png -p "oil painting style" -t 0.7
    
    • Der Wert -t steuert die Transformationsstärke; 0.0 erhält das Original, 1.0 erzeugt eine vollständige Neugenerierung

Modellarchitektur und Leistung

  • Transformer: 5 Double-Blöcke und 20 Single-Blöcke, 3072 Hidden-Dimensionen, 24 Attention-Head
  • VAE: AutoencoderKL, 128 latente Kanäle, 8-fache räumliche Kompression
  • Text Encoder: Qwen3-4B, 36 Schichten, 2560 Hidden-Dimensionen
  • Inferenzschritte: Hochwertige Ergebnisse mit 4 Sampling-Schritten
  • Speicherbedarf
    • Text-Encoding: etwa 8GB
    • Diffusion: etwa 8GB
    • Maximaler Peak: 16GB (vor Freigabe des Encoders)
  • Leistungsbenchmarks (Apple M3 Max, 128GB RAM)
    • 512×512: MPS 49,6 Sekunden, BLAS 51,9 Sekunden, PyTorch MPS 5,4 Sekunden
    • 256×256: MPS 32,4 Sekunden, BLAS 29,7 Sekunden, PyTorch MPS 3,0 Sekunden
    • 64×64: MPS 25,0 Sekunden, BLAS 23,5 Sekunden, PyTorch MPS 2,2 Sekunden
    • Das reine C-Backend ist sehr langsam und nur für Tests geeignet

Build und Ausführung

  • Backend-Auswahl
    • make mps: macOS Apple Silicon (am schnellsten)
    • make blas: Intel Mac oder Linux (OpenBLAS erforderlich)
    • make generic: reines C, ohne Abhängigkeiten (langsam)
  • Modell herunterladen
    pip install huggingface_hub
    python download_model.py
    
  • Die Ausgaberesolution beträgt maximal 1024×1024, minimal 64×64; empfohlen werden Vielfache von 16

C-Bibliotheks-API

  • Modell laden und freigeben
    • flux_load_dir(path) / flux_free(ctx)
  • Bildgenerierung und -transformation
    • flux_generate(ctx, prompt, params)
    • flux_img2img(ctx, prompt, input, params)
  • Bild-Ein-/Ausgabe
    • flux_image_load(path) / flux_image_save(img, path)
  • Hilfsfunktionen
    • Reproduzierbarkeit mit flux_set_seed(seed)
    • Fehlermeldungen mit flux_get_error() prüfen
    • Manuelle Speicherfreigabe mit flux_release_text_encoder(ctx) möglich

Lizenz und weitere Informationen

  • Veröffentlicht unter der MIT-Lizenz
  • Sprachverteilung im Repository: C 93.9%, Objective-C 3.5%, Makefile 1.7%, Python 0.9%
  • 446 Sterne und 20 Forks, was auf reges Interesse der Community hinweist

Noch keine Kommentare.

Noch keine Kommentare.