Allgemeine Einführung
Pyramid Flow ist eine effiziente autoregressive Methode zur Videogenerierung, die auf der Flow-Matching-Technik basiert. Die Methode ermöglicht die Generierung und Dekomprimierung von Videoinhalten mit höherer Recheneffizienz durch Interpolation zwischen verschiedenen Auflösungen und Rauschpegeln. Pyramid Flow ist in der Lage, qualitativ hochwertige 10-Sekunden-Videos mit einer Auflösung von 768p und 24 FPS zu generieren, und unterstützt die Generierung von Bildern in Videos. Das gesamte Framework ist durchgängig optimiert und verwendet ein einziges DiT-Modell, das in 20,7k A100 GPU-Trainingsstunden trainiert wurde.
Funktionsliste
- Effiziente VideoerstellungErzeugt hochwertige 10-Sekunden-Videos mit einer Auflösung von 768p bei 24 FPS.
- Bild-zu-Video-GenerierungUnterstützung für die Erstellung von Videos aus Bildern.
- Unterstützung mehrerer AuflösungenModellprüfpunkte sind in den Auflösungen 768p und 384p verfügbar.
- CPU-OffloadZwei Arten von CPU-Offloading werden unterstützt, um den Speicherbedarf der GPU zu reduzieren.
- Multi-GPU-UnterstützungBietet Multi-GPU-Inferenzskripte, die Sequenzparallelität unterstützen, um Speicher pro GPU zu sparen.
Hilfe verwenden
Umgebungseinstellungen
- Erstellen Sie eine Umgebung mit conda:
cd Pyramid-Flow conda create --name pyramid-flow python=3.8.10 conda activate pyramid-flow
- Installieren Sie die Abhängigkeit:
pip install -r anforderungen.txt
Herunterladen und Laden von Modellen
- Laden Sie Modellprüfpunkte von Huggingface herunter:
# Download 768p und 384p Modellprüfpunkte
- Modelle laden:
model_dtype, torch_dtype = 'bf16', torch.bfloat16 model = PyramidDiTForVideoGeneration( 'PFAD', Checkpoint-Katalog für #-Downloads model_dtype. model_variant=diffusion_transformer_768p'., # oder 'diffusion_transformer_384p'. ) model.vae.enable_tiling() model.enable_sequential_cpu_offload()
Text-zu-Video-Generierung
- Legen Sie die Erzeugungsparameter fest und erzeugen Sie das Video:
frames = model.generate( prompt="Ihr SMS-Alarm.", num_inference_steps=[20, 20, 20], video_num_inference_steps=[10, 10, 10], height=768, width=1280, temp=16, # temp=16: 5s, temp=31: 10s anleitung_skala=9.0, # 384p Einstellung auf 7 video_leitfaden_skala=5.0, output_type="pil", save_memory=Wahr) ) export_to_video(frames, , ) ". /text_zu_video_beispiel.mp4", fps=24)
Bild-zu-Video-Generierung
- Legen Sie die Erzeugungsparameter fest und erzeugen Sie das Video:
Aufforderung = "FPV-Flug über die Große Mauer" mit torch.no_grad(), torch.cuda.amp.autocast(enabled=Wahr, dtype=torch_dtype). frames = model.generate_i2v( prompt=prompt, , input_image=image, , dtype=torch_dtype input_image=image, num_inference_steps=[[], dtype=torch_dtype num_inference_steps=[10, 10, 10], temp=16, video_guidance_scale=4.0, output_type="pil", save_memory=Wahr) ) export_to_video(frames, , ) ". /image_to_video_sample.mp4", fps=24)
Multi-GPU-Inferenz
- Inferenz mit mehreren GPUs:
# Ausführen von Inferenzskripten auf 2 oder 4 GPUs
Niu One Click Deployment Edition
Der Entschlüsselungscode für die Startdatei befindet sich in der Download-Adresse. Wenn der Download des Modells nach dem Start häufig unterbrochen wird, lesen Sie das offizielle Dokument, um die Modelldatei separat herunterzuladen, die etwa 30 GB groß ist.