はじめに
Pyramid Flowは、Flow Matching技術に基づく効率的な自己回帰型ビデオ生成手法である。Pyramid Flowは、768p解像度、24FPSで高品質の10秒ビデオを生成することができ、画像からビデオへの生成をサポートしています。フレームワーク全体は、20.7k A100 GPUトレーニング時間で学習された単一のDiTモデルを使用して、エンドツーエンドで最適化されています。
機能一覧
- 効率的なビデオ生成解像度768p、24FPSの高画質10秒ビデオを生成します。
- 画像からビデオへの変換画像からのビデオ生成をサポート。
- マルチレゾリューション対応モデルのチェックポイントは768pと384pの解像度があります。
- CPUオフロードGPUのメモリ使用量を減らすために、2種類のCPUオフロードがサポートされています。
- マルチGPUサポートマルチGPU推論スクリプトを提供し、GPUごとのメモリを節約するためのシーケンス並列性をサポートします。
ヘルプの使用
環境設定
- condaを使って環境を作る:
cd ピラミッドフロー conda create --name pyramid-flow python=3.8.10 pyramid-flowを起動する
- 依存関係をインストールします:
pip install -r requirements.txt
モデルのダウンロードと読み込み
- Huggingfaceからモデルのチェックポイントをダウンロードする:
#ダウンロード 768pおよび384pモデル チェックポイント
- ローディングモデル:
model_dtype、 torch_dtype = 'bf16'トーチ.bfloat16 model = PyramidDiTForVideoGeneration( パス, #用チェックポイントカタログ ダウンロード model_dtype model_variant='拡散_トランスフォーマー_768p', #または'diffusion_transformer_384p' ) model.vae.enable_tiling() model.enable_sequential_cpu_offload()
テキストからビデオへ
- 生成パラメーターを設定し、ビデオを生成する:
frames = model.generate( プロンプト"メールアラート", num_inference_steps=[20, 20, 20], video_num_inference_steps=[ ]。10, 10, 10], height=768, 幅1280, temp=16, # temp=16:5s、temp=31:10s guidance_scale=9.0, # 384p 7に設定 video_guidance_scale=5.0, output_type="ピル", save_memory=真) ) エクスポート_to_video(フレーム, , ) "./text_to_video_sample.mp4"。fps=24)
画像からビデオへの変換
- 生成パラメーターを設定し、ビデオを生成する:
プロンプト 「万里の長城上空のFPV飛行 と torch.no_grad()、torch.cuda.amp.autocast(enabled=)真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="ピル", save_memory=真) ) エクスポート_to_video(フレーム, , ) "./image_to_video_sample.mp4"。fps=24)
マルチGPU推論
- 複数のGPUを使った推論:
# 推論スクリプトを2つまたは4つのGPUで実行する
ニウ・ワン・クリック・デプロイメント版
起動ファイルの復号コードはダウンロードアドレスに記載されている。起動後にモデルのダウンロードが中断されることが多い場合は、公式ドキュメントを確認し、30G程度のモデルファイルを別途ダウンロードしてください。