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.

Online-Erfahrung: https://huggingface.co/spaces/Pyramid-Flow/pyramid-flow
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
- Verwenden Sie conda, um eine Umgebung zu erstellen:
cd Pyramid-Flow conda create --name pyramid-flow python=3.8.10 conda activate pyramid-flow
- Installieren Sie die Abhängigkeit:
pip install -r requirements.txt
Herunterladen und Laden von Modellen
- Laden Sie Modellprüfpunkte von Huggingface herunter:
# 下载 768p 和 384p 模型检查点
- Modelle laden:
model_dtype, torch_dtype = 'bf16', torch.bfloat16 model = PyramidDiTForVideoGeneration( 'PATH', # 下载的检查点目录 model_dtype, model_variant='diffusion_transformer_768p', # 或 '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="你的文本提示", 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 guidance_scale=9.0, # 384p 设为 7 video_guidance_scale=5.0, output_type="pil", save_memory=True, ) export_to_video(frames, "./text_to_video_sample.mp4", fps=24)
Bild-zu-Video-Generierung
- Legen Sie die Erzeugungsparameter fest und erzeugen Sie das Video:
prompt = "FPV flying over the Great Wall" with torch.no_grad(), torch.cuda.amp.autocast(enabled=True, dtype=torch_dtype): frames = model.generate_i2v( prompt=prompt, input_image=image, num_inference_steps=[10, 10, 10], temp=16, video_guidance_scale=4.0, output_type="pil", save_memory=True, ) export_to_video(frames, "./image_to_video_sample.mp4", fps=24)
Multi-GPU-Inferenz
- Inferenz mit mehreren GPUs:
# 在 2 个或 4 个 GPU 上运行推理脚本
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.