Files
aigc-apps-EasyAnimate/README_ja-JP.md
T
2024-11-12 10:19:27 +08:00

26 KiB
Raw Blame History

📷 EasyAnimate | 高解像度および長時間動画生成のためのエンドツーエンドソリューション

😊 EasyAnimateは、高解像度および長時間動画を生成するためのエンドツーエンドソリューションです。トランスフォーマーベースの拡散生成器をトレーニングし、長時間動画を処理するためのVAEをトレーニングし、メタデータを前処理することができます。

😊 DITをベースに、トランスフォーマーを拡散器として使用して動画や画像を生成します。

😊 ようこそ!

Arxiv Page Project Page Modelscope Studio Hugging Face Spaces Discord Page

English | 简体中文 | 日本語

目次

紹介

EasyAnimateは、トランスフォーマーアーキテクチャに基づいたパイプラインで、AI画像および動画の生成、Diffusion TransformerのベースラインモデルおよびLoraモデルのトレーニングに使用されます。事前トレーニング済みのEasyAnimateモデルから直接予測を行い、さまざまな解像度で約6秒間、8fpsの動画を生成できます(EasyAnimateV5、1〜49フレーム)。さらに、ユーザーは特定のスタイル変換のために独自のベースラインおよびLoraモデルをトレーニングできます。

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

新機能:

  • v5に更新、1024x1024までの動画生成をサポート、49フレーム、6秒、8fps、モデルスケールを12Bに拡張、MMDIT構造を組み込み、さまざまな入力を持つ制御モデルをサポート。中国語と英語のバイリンガル予測をサポート。[2024.11.08]
  • v4に更新、1024x1024までの動画生成をサポート、144フレーム、6秒、24fps、テキスト、画像、動画からの動画生成をサポート、512から1280までの解像度を単一モデルで処理。中国語と英語のバイリンガル予測をサポート。[2024.08.15]
  • v3に更新、960x960までの動画生成をサポート、144フレーム、6秒、24fps、テキストと画像からの動画生成をサポート。[2024.07.01]
  • ModelScope-Sora “データディレクター” クリエイティブレース — 第三回Data-Juicerビッグモデルデータチャレンジが正式に開始されました!EasyAnimateをベースモデルとして使用し、データ処理がモデルトレーニングに与える影響を探ります。詳細は競技ウェブサイトをご覧ください。[2024.06.17]
  • v2に更新、768x768までの動画生成をサポート、144フレーム、6秒、24fps。[2024.05.26]
  • コード作成! 現在、WindowsおよびLinuxをサポート。[2024.04.12]

機能:

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

クイックスタート

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

a. AliyunDSWから

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

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

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:easyanimate

# イメージに入る
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:easyanimate

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

# EasyAnimateのディレクトリに入る
cd EasyAnimate

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

# EasyAnimateV5モデルをダウンロードするには、hugginfaceリンクまたはmodelscopeリンクを使用してください。
# I2Vモデル
# https://huggingface.co/alibaba-pai/EasyAnimateV5-12b-zh-InP
# https://modelscope.cn/models/PAI/EasyAnimateV5-12b-zh-InP
# T2Vモデル
# https://huggingface.co/alibaba-pai/EasyAnimateV5-12b-zh
# https://modelscope.cn/models/PAI/EasyAnimateV5-12b-zh

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

a. 環境チェック

次の環境でEasyAnimateの実行を確認しました:

Windowsの詳細:

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

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. 重み

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

EasyAnimateV5:

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

ビデオ結果

表示されている結果はすべて画像からの生成に基づいています。

EasyAnimateV5-12b-zh-InP

I2V

T2V

EasyAnimateV5-12b-zh-Control

使い方

1. 推論

a. Pythonコードを使用する

  • ステップ1:対応する重みをダウンロードし、modelsフォルダに配置します。
  • ステップ2:predict_t2v.pyファイルでprompt、neg_prompt、guidance_scale、およびseedを変更します。
  • ステップ3:predict_t2v.pyファイルを実行し、生成された結果を待ちます。結果はsamples/easyanimate-videosフォルダに保存されます。
  • ステップ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を参照してください。

d. GPUメモリ節約スキーム

EasyAnimateV5のパラメータが大きいため、メモリを節約するためにGPUメモリ節約スキームを検討する必要があります。各予測ファイルには、GPU_memory_modeオプションがあり、model_cpu_offload、model_cpu_offload_and_qfloat8、およびsequential_cpu_offloadから選択できます。

  • model_cpu_offloadは、使用後にモデル全体がCPUにオフロードされることを示し、一部のGPUメモリを節約します。
  • model_cpu_offload_and_qfloat8は、使用後にモデル全体がCPUにオフロードされ、トランスフォーマーモデルがfloat8に量子化され、さらに多くのGPUメモリを節約します。
  • sequential_cpu_offloadは、使用後にモデルの各層がCPUにオフロードされることを意味し、速度は遅くなりますが、大量のGPUメモリを節約します。

2. モデルトレーニング

完全なEasyAnimateトレーニングパイプラインには、データ前処理、Video VAEトレーニング、およびVideo DiTトレーニングが含まれる必要があります。これらの中で、Video VAEトレーニングはオプションです。すでにトレーニング済みのVideo VAEを提供しているためです。

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": "A group of young men in suits and sunglasses are walking down a city street.",
      "type": "video"
    },
    {
      "file_path": "train/00000002.jpg",
      "text": "A group of young men in suits and sunglasses are walking down a city street.",
      "type": "image"
    },
    .....
]

パスを絶対パスとして設定することもできます:

[
    {
      "file_path": "/mnt/data/videos/00000001.mp4",
      "text": "A group of young men in suits and sunglasses are walking down a city street.",
      "type": "video"
    },
    {
      "file_path": "/mnt/data/train/00000001.jpg",
      "text": "A group of young men in suits and sunglasses are walking down a city street.",
      "type": "image"
    },
    .....
]

b. Video VAEトレーニング(オプション)

Video VAEトレーニングはオプションです。すでにトレーニング済みのVideo VAEを提供しているためです。 Video VAEをトレーニングする場合は、ビデオVAEセクションのREADMEを参照してください。

c. 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 TrainおよびReadme Loraを参照してください。

(Obsolete) EasyAnimateV1: EasyAnimateV1をトレーニングする場合は、gitブランチv1に切り替えてください。

モデルズー

EasyAnimateV5:

名前 種類 ストレージスペース Hugging Face Model Scope 説明
EasyAnimateV5-12b-zh-InP EasyAnimateV5 34 GB 🤗Link 😄Link 公式の画像から動画への重み。複数の解像度(512、768、1024)での動画予測をサポートし、49フレーム、毎秒8フレームでトレーニングされ、中国語と英語のバイリンガル予測をサポートします。
EasyAnimateV5-12b-zh-Control EasyAnimateV5 34 GB 🤗Link 😄Link 公式の動画制御重み。Canny、Depth、Pose、MLSDなどのさまざまな制御条件をサポートします。複数の解像度(512、768、1024)での動画予測をサポートし、49フレーム、毎秒8フレームでトレーニングされ、中国語と英語のバイリンガル予測をサポートします。
EasyAnimateV5-12b-zh EasyAnimateV5 34 GB 🤗Link 😄Link 公式のテキストから動画への重み。複数の解像度(512、768、1024)での動画予測をサポートし、49フレーム、毎秒8フレームでトレーニングされ、中国語と英語のバイリンガル予測をサポートします。
(Obsolete) EasyAnimateV4:
名前 種類 ストレージスペース URL Hugging Face 説明
EasyAnimateV4-XL-2-InP.tar.gz EasyAnimateV4 解凍前: 8.9 GB / 解凍後: 14.0 GB ダウンロード 🤗Link 公式のグラフ生成動画モデル。複数の解像度(512、768、1024、1280)での動画予測をサポートし、144フレーム、毎秒24フレームでトレーニングされています。
(Obsolete) EasyAnimateV3:
名前 種類 ストレージスペース URL Hugging Face 説明
EasyAnimateV3-XL-2-InP-512x512.tar EasyAnimateV3 18.2GB ダウンロード 🤗Link EasyAnimateV3公式の512x512テキストおよび画像から動画への重み。144フレーム、毎秒24フレームでトレーニングされています。
EasyAnimateV3-XL-2-InP-768x768.tar EasyAnimateV3 18.2GB ダウンロード 🤗Link EasyAnimateV3公式の768x768テキストおよび画像から動画への重み。144フレーム、毎秒24フレームでトレーニングされています。
EasyAnimateV3-XL-2-InP-960x960.tar EasyAnimateV3 18.2GB ダウンロード 🤗Link EasyAnimateV3公式の960x960テキストおよび画像から動画への重み。144フレーム、毎秒24フレームでトレーニングされています。
(Obsolete) EasyAnimateV2:
名前 種類 ストレージスペース URL Hugging Face 説明
EasyAnimateV2-XL-2-512x512.tar EasyAnimateV2 16.2GB ダウンロード 🤗Link EasyAnimateV2公式の512x512解像度の重み。144フレーム、毎秒24フレームでトレーニングされています。
EasyAnimateV2-XL-2-768x768.tar EasyAnimateV2 16.2GB ダウンロード 🤗Link EasyAnimateV2公式の768x768解像度の重み。144フレーム、毎秒24フレームでトレーニングされています。
easyanimatev2_minimalism_lora.safetensors Lora of Pixart 485.1MB ダウンロード - 特定のタイプの画像でトレーニングされたLora。画像はURLからダウンロードできます。
(Obsolete) EasyAnimateV1:

1、モーション重み

名前 種類 ストレージスペース URL 説明
easyanimate_v1_mm.safetensors モーションモジュール 4.1GB ダウンロード 80フレーム、毎秒12フレームでトレーニングされています。

2、その他の重み

名前 種類 ストレージスペース URL 説明
PixArt-XL-2-512x512.tar Pixart 11.4GB ダウンロード Pixart-Alpha公式の重み。
easyanimate_portrait.safetensors Pixartのチェックポイント 2.3GB ダウンロード 内部のポートレートデータセットでトレーニングされています。
easyanimate_portrait_lora.safetensors PixartのLora 654.0MB ダウンロード 内部のポートレートデータセットでトレーニングされています。

TODOリスト

  • より大きなパラメータを持つモデルをサポートします。

お問い合わせ

  1. Dingdingを使用してグループ77450006752を検索するか、スキャンして参加します。
  2. WeChatグループに参加するには画像をスキャンするか、期限切れの場合はこの学生を友達として追加して招待します。
ding group Wechat group Person

参考文献

ライセンス

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