Skip to content

Latest commit

 

History

History
465 lines (387 loc) · 24.6 KB

README_ja-JP.md

File metadata and controls

465 lines (387 loc) · 24.6 KB

CogVideoX-Fun

😊 ようこそ!

Hugging Face Spaces

English | 简体中文 | 日本語

目次

紹介

CogVideoX-Funは、CogVideoX構造に基づいて修正されたパイプラインであり、生成の柔軟性を提供します。AI画像とビデオの生成、Diffusion TransformerのベースラインモデルとLoraモデルのトレーニングに使用できます。すでにトレーニングされたCogVideoX-Funモデルから直接予測を行い、異なる解像度で約6秒間、8fps(1〜49フレーム)のビデオを生成できます。ユーザーは独自のベースラインモデルとLoraモデルをトレーニングして、特定のスタイル変換を実現することもできます。

異なるプラットフォームからのクイックスタートをサポートします。詳細はクイックスタートを参照してください。

新機能:

  • I2Vモデルと関連するトレーニング予測コードをV1.5バージョンに更新。[2024.12.16]
  • 報酬逆伝播を使用してLoraをトレーニングし、生成されたビデオを最適化し、人間の好みにより一致させます。詳細はこちらをご覧ください。新しいバージョンのコントロールモデルは、Canny、Depth、Pose、MLSDなどのさまざまな条件をサポートします。[2024.11.21]
  • CogVideoX-Fun Controlはdiffusersでサポートされています。サポートを提供してくれたa-r-r-o-wに感謝します。このPRでサポートが提供されました。詳細はドキュメントをご覧ください。[2024.10.16]
  • i2vモデルを再トレーニングし、ノイズを追加してビデオの動きの幅を広げました。コントロールモデルのトレーニングコードとコントロールモデルをアップロードしました。[2024.09.29]
  • コードを作成しました!現在、WindowsとLinuxをサポートしています。2bおよび5bモデルをサポートし、256x256x49から1024x1024x49までの任意の解像度でビデオを生成できます。[2024.09.18]

機能:

私たちのUIインターフェースは次のとおりです: ui

クイックスタート

1. クラウド使用: AliyunDSW/Docker

a. AliyunDSWから

DSWには無料のGPU時間があり、ユーザーは一度申請でき、申請後3か月間有効です。

AliyunはFreetierで無料のGPU時間を提供しています。取得してAliyun PAI-DSWで使用し、5分以内にCogVideoX-Funを開始できます!

DSW Notebook

b. ComfyUIから

私たちのComfyUIは次のとおりです。詳細はComfyUI READMEを参照してください。 workflow graph

c. Dockerから

Dockerを使用する場合、マシンにグラフィックスカードドライバとCUDA環境が正しくインストールされていることを確認してください。

次のコマンドをこの方法で実行します:

# イメージをプル
docker pull mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:cogvideox_fun

# イメージに入る
docker run -it -p 7860:7860 --network host --gpus all --security-opt seccomp:unconfined --shm-size 200g mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:cogvideox_fun

# コードをクローン
git clone https://github.com/aigc-apps/CogVideoX-Fun.git

# CogVideoX-Funのディレクトリに入る
cd CogVideoX-Fun

# 重みをダウンロード
mkdir models/Diffusion_Transformer
mkdir models/Personalized_Model

wget https://pai-aigc-photog.oss-cn-hangzhou.aliyuncs.com/cogvideox_fun/Diffusion_Transformer/CogVideoX-Fun-V1.1-2b-InP.tar.gz -O models/Diffusion_Transformer/CogVideoX-Fun-V1.1-2b-InP.tar.gz

cd models/Diffusion_Transformer/
tar -xvf CogVideoX-Fun-V1.1-2b-InP.tar.gz
cd ../../

2. ローカルインストール: 環境チェック/ダウンロード/インストール

a. 環境チェック

以下の環境でCogVideoX-Funの実行を確認しました:

Windowsの詳細:

  • OS: Windows 10
  • python: python3.10 & python3.11
  • pytorch: torch2.2.0
  • CUDA: 11.8 & 12.1
  • CUDNN: 8+
  • GPU: Nvidia-3060 12G & Nvidia-3090 24G

Linuxの詳細:

  • OS: Ubuntu 20.04, CentOS
  • python: python3.10 & python3.11
  • pytorch: torch2.2.0
  • CUDA: 11.8 & 12.1
  • CUDNN: 8+
  • GPU:Nvidia-V100 16G & Nvidia-A10 24G & Nvidia-A100 40G & Nvidia-A100 80G

重みを保存するために約60GBのディスクスペースが必要です。確認してください!

b. 重み

重みを指定されたパスに配置することをお勧めします:

📦 models/
├── 📂 Diffusion_Transformer/
│   ├── 📂 CogVideoX-Fun-V1.1-2b-InP/
│   └── 📂 CogVideoX-Fun-V1.1-5b-InP/
├── 📂 Personalized_Model/
│   └── あなたのトレーニング済みのトランスフォーマーモデル / あなたのトレーニング済みのLoraモデル(UIロード用)

ビデオ結果

表示されている結果はすべて画像に基づいています。

CogVideoX-Fun-V1.1-5B

解像度-1024

00000005.mp4
00000006.mp4
00000009.mp4
00000010.mp4

解像度-768

00000001.mp4
00000002.mp4
00000005.mp4
00000006.mp4

解像度-512

00000036.mp4
00000035.mp4
00000034.mp4
00000033.mp4

CogVideoX-Fun-V1.1-5B with Reward Backpropagation

プロンプト CogVideoX-Fun-V1.1-5B CogVideoX-Fun-V1.1-5B
HPSv2.1 Reward LoRA
CogVideoX-Fun-V1.1-5B
MPS Reward LoRA
翼のある豚がダイヤモンドの山の上を飛んでいる
00000008.mp4
00000008.mp4
00000008.mp4
犬が野原を走り、猫が木に登る
00000002.mp4
00000002.mp4
00000002.mp4

CogVideoX-Fun-V1.1-5B-Control

demo_pose.mp4
demo_scribble.mp4
demo_depth.mp4
美しい澄んだ目と金髪の若い女性が白い服を着て体をひねり、カメラは彼女の顔に焦点を合わせています。高品質、傑作、最高品質、高解像度、超微細、夢のような。 美しい澄んだ目と金髪の若い女性が白い服を着て体をひねり、カメラは彼女の顔に焦点を合わせています。高品質、傑作、最高品質、高解像度、超微細、夢のような。 若いクマ。
00000010.mp4
00000011.mp4
00000012.mp4

CogVideoX-Fun-V1.1-5B-Pose

解像度-512 解像度-768 解像度-1024
1.mp4
2.mp4
3.mp4

CogVideoX-Fun-V1.1-2B

解像度-768

00000008.mp4
00000010.mp4
00000020.mp4
00000030.mp4

CogVideoX-Fun-V1.1-2B-Pose

解像度-512 解像度-768 解像度-1024
1.mp4
2.mp4
3.mp4

使用方法

1. 推論

a. Pythonコードを使用

  • ステップ1: 対応する重みをダウンロードし、modelsフォルダに配置します。
  • ステップ2: predict_t2v.pyファイルでprompt、neg_prompt、guidance_scale、およびseedを変更します。
  • ステップ3: predict_t2v.pyファイルを実行し、生成された結果を待ちます。結果はsamples/cogvideox-fun-videos-t2vフォルダに保存されます。
  • ステップ4: 他のトレーニング済みのバックボーンとLoraを組み合わせたい場合は、状況に応じてpredict_t2v.pyおよびLora_pathを変更します。

b. WebUIを使用

  • ステップ1: 対応する重みをダウンロードし、modelsフォルダに配置します。
  • ステップ2: app.pyファイルを実行してグラフページに入ります。
  • ステップ3: ページに基づいて生成モデルを選択し、prompt、neg_prompt、guidance_scale、およびseedを入力し、生成をクリックして生成結果を待ちます。結果はsamplesフォルダに保存されます。

c. ComfyUIから

詳細はComfyUI READMEを参照してください。

2. モデルのトレーニング

完全なCogVideoX-Funトレーニングパイプラインには、データ前処理とVideo DiTトレーニングが含まれている必要があります。

a. データ前処理

画像データを使用してLoraモデルをトレーニングする簡単なデモを提供しました。詳細はwikiをご覧ください。

長いビデオのセグメンテーション、クリーニング、説明のための完全なデータ前処理リンクは、ビデオキャプションセクションのREADMEを参照してください。

テキストから画像およびビデオ生成モデルをトレーニングしたい場合。この形式でデータセットを配置する必要があります。

📦 project/
├── 📂 datasets/
│   ├── 📂 internal_datasets/
│       ├── 📂 train/
│       │   ├── 📄 00000001.mp4
│       │   ├── 📄 00000002.jpg
│       │   └── 📄 .....
│       └── 📄 json_of_internal_datasets.json

json_of_internal_datasets.jsonは標準のJSONファイルです。json内のfile_pathは相対パスとして設定できます。以下のように:

[
    {
      "file_path": "train/00000001.mp4",
      "text": "スーツとサングラスを着た若い男性のグループが街の通りを歩いている。",
      "type": "video"
    },
    {
      "file_path": "train/00000002.jpg",
      "text": "スーツとサングラスを着た若い男性のグループが街の通りを歩いている。",
      "type": "image"
    },
    .....
]

次のように絶対パスとして設定することもできます:

[
    {
      "file_path": "/mnt/data/videos/00000001.mp4",
      "text": "スーツとサングラスを着た若い男性のグループが街の通りを歩いている。",
      "type": "video"
    },
    {
      "file_path": "/mnt/data/train/00000001.jpg",
      "text": "スーツとサングラスを着た若い男性のグループが街の通りを歩いている。",
      "type": "image"
    },
    .....
]

b. Video DiTトレーニング

データ前処理時にデータ形式が相対パスの場合、scripts/train.shを次のように設定します。

export DATASET_NAME="datasets/internal_datasets/"
export DATASET_META_NAME="datasets/internal_datasets/json_of_internal_datasets.json"

データ形式が絶対パスの場合、scripts/train.shを次のように設定します。

export DATASET_NAME=""
export DATASET_META_NAME="/mnt/data/json_of_internal_datasets.json"

次に、scripts/train.shを実行します。

sh scripts/train.sh

一部のパラメータの設定の詳細については、Readme TrainReadme Lora、およびReadme Controlを参照してください。

モデルの場所

V1.5:

名称 ストレージスペース Hugging Face Model Scope 説明
CogVideoX-Fun-V1.5-5b-InP 20.0 GB 🤗Link 😄Link 公式のグラフ生成ビデオモデルは、複数の解像度(512、768、1024)でビデオを予測できます。85フレーム、8フレーム/秒でトレーニングされています。
CogVideoX-Fun-V1.5-Reward-LoRAs - 🤗リンク 😄リンク 公式の報酬逆伝播技術モデルで、CogVideoX-Fun-V1.5が生成するビデオを最適化し、人間の嗜好によりよく合うようにする。

V1.1:

名称 ストレージスペース Hugging Face Model Scope 説明
CogVideoX-Fun-V1.1-2b-InP 13.0 GB 🤗リンク 😄リンク 公式のグラフ生成ビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。参照画像にノイズが追加され、V1.0と比較して動きの幅が広がっています。
CogVideoX-Fun-V1.1-5b-InP 20.0 GB 🤗リンク 😄リンク 公式のグラフ生成ビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。参照画像にノイズが追加され、V1.0と比較して動きの幅が広がっています。
CogVideoX-Fun-V1.1-2b-Pose 13.0 GB 🤗リンク 😄リンク 公式のポーズコントロールビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。
CogVideoX-Fun-V1.1-2b-Control 13.0 GB 🤗Link 😄Link 公式のコントロールビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。Canny、Depth、Pose、MLSDなどのさまざまなコントロール条件をサポートします。
CogVideoX-Fun-V1.1-5b-Pose 20.0 GB 🤗リンク 😄リンク 公式のポーズコントロールビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。
CogVideoX-Fun-V1.1-5b-Control 20.0 GB 🤗リンク 😄リンク 公式のコントロールビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。Canny、Depth、Pose、MLSDなどのさまざまなコントロール条件をサポートします。
CogVideoX-Fun-V1.1-Reward-LoRAs - 🤗リンク 😄リンク 公式の報酬逆伝播技術モデルで、CogVideoX-Fun-V1.1が生成するビデオを最適化し、人間の嗜好によりよく合うようにする。

V1.0:

名称 ストレージスペース Hugging Face Model Scope 説明
CogVideoX-Fun-2b-InP 13.0 GB 🤗リンク 😄リンク 公式のグラフ生成ビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。
CogVideoX-Fun-5b-InP 20.0 GB 🤗リンク 😄リンク 公式のグラフ生成ビデオモデルは、複数の解像度(512、768、1024、1280)でビデオを予測できます。49フレーム、8フレーム/秒でトレーニングされています。

TODOリスト

  • 日本語をサポート。

参考文献

ライセンス

このプロジェクトはApache License (Version 2.0)の下でライセンスされています。

CogVideoX-2Bモデル(対応するTransformersモジュール、VAEモジュールを含む)は、Apache 2.0ライセンスの下でリリースされています。

CogVideoX-5Bモデル(Transformersモジュール)は、CogVideoXライセンスの下でリリースされています。