? EasyAnimate 是一種用於產生高解析度長影片的端到端解決方案。我們可以訓練基於 Transformer 的擴散產生器、訓練 VAE 來處理長視訊以及預處理元資料。
?我們使用 DIT 和 Transformer 作為視訊和圖像生成的擴散器。
?歡迎!
英語 | 簡體中文 | 日本語
EasyAnimate 是一個基於 Transformer 架構的管道,旨在生成 AI 圖像和視頻,以及訓練 Diffusion Transformer 的基線模型和 Lora 模型。我們支援從預先訓練的 EasyAnimate 模型進行直接預測,允許生成各種分辨率的視頻,長度約為 6 秒,幀率為 8fps(EasyAnimateV5,1 至 49 幀)。此外,使用者可以訓練自己的基線和 Lora 模型以進行特定的風格轉換。
我們將支援不同平台的快速上拉,參考快速入門。
新功能:
功能:
我們的UI介面如下:
DSW有免費的GPU時間,用戶可以申請一次,申請後有效期為3個月。
阿里雲在Freetier中提供免費的GPU時間,取得後在阿里雲PAI-DSW中使用即可在5分鐘內啟動EasyAnimate!
我們的ComfyUI如下,詳細請參考ComfyUI README。
如果您使用的是docker,請確保您的機器中已經正確安裝了顯示卡驅動程式和CUDA環境。
然後按照這樣的方式執行以下命令:
# pull image
docker pull mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:easyanimate
# enter image
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
# clone code
git clone https://github.com/aigc-apps/EasyAnimate.git
# enter EasyAnimate's dir
cd EasyAnimate
# download weights
mkdir models/Diffusion_Transformer
mkdir models/Motion_Module
mkdir models/Personalized_Model
# Please use the hugginface link or modelscope link to download the EasyAnimateV5 model.
# I2V models
# https://huggingface.co/alibaba-pai/EasyAnimateV5-12b-zh-InP
# https://modelscope.cn/models/PAI/EasyAnimateV5-12b-zh-InP
# T2V models
# https://huggingface.co/alibaba-pai/EasyAnimateV5-12b-zh
# https://modelscope.cn/models/PAI/EasyAnimateV5-12b-zh
我們已經在以下環境中驗證了 EasyAnimate 的執行:
Windows 的詳細資訊:
Linux的詳細介紹:
我們需要大約 60GB 可用磁碟空間(用於減輕重量),請檢查!
我們最好沿著指定的路徑放置權重:
EasyAnimateV5:
? models/
├── Diffusion_Transformer/
│ ├── EasyAnimateV5-12b-zh-InP/
│ └── EasyAnimateV5-12b-zh/
├── Personalized_Model/
│ └── your trained trainformer model / your trained lora model (for UI load)
顯示的結果均基於圖像。
00000008.mp4 | 00000004.mp4 | 00000003.mp4 | 00000002.mp4 |
00000012.mp4 | 00000011.mp4 | 00000006.mp4 | 00000005.mp4 |
00000016.mp4 | 00000056.mp4 | 00000060.mp4 | 00000065.mp4 |
1.mp4 | 2.mp4 | 3.mp4 | 4.mp4 |
5.mp4 | 6.mp4 | 7.mp4 | 8.mp4 |
示範_pose.mp4 | 示範_scribble.mp4 | 演示深度.mp4 |
示範_pose_out.mp4 | 示範_scribble_out.mp4 | 演示_深度_輸出.mp4 |
詳細資訊請參閱 ComfyUI README。
由於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,並且Transformer模型被量化為float8,從而節省更多的GPU記憶體。sequential_cpu_offload
表示模型的每一層在使用後都會卸載到 CPU,速度較慢,但可以節省大量 GPU 記憶體。完整的 EasyAnimate 訓練流程應包括資料預處理、視訊 VAE 訓練和視訊 DiT 訓練。其中,視訊VAE訓練是可選的,因為我們已經提供了預先訓練的視訊VAE。
我們提供了一個透過圖像資料訓練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 "
},
.....
]
視訊 VAE 訓練是一個可選選項,因為我們已經提供了預先訓練的視訊 VAE。如果你想訓練影片vae,可以參考影片vae部分的README。
如果資料預處理時資料格式為相對路徑,請如下設定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。
EasyAnimateV5:
姓名 | 類型 | 儲存空間 | 抱臉 | 型號範圍 | 描述 |
---|---|---|---|---|---|
EasyAnimateV5-12b-zh-InP | EasyAnimateV5 | 34GB | ? | ? | 官方圖像到影片的權重。支援多種解析度(512、768、1024)的影片預測,以每秒8幀的49幀進行訓練,支援中英文雙語預測。 |
EasyAnimateV5-12b-zh-Control | EasyAnimateV5 | 34GB | ? | ? | 官方影片控制權重,支援Canny、Depth、Pose、MLSD等多種控制條件。支援中英文雙語預測。 |
EasyAnimateV5-12b-zh | EasyAnimateV5 | 34GB | ? | ? | 官方文字到影片的權重。支援多種解析度(512、768、1024)的影片預測,以每秒8幀的49幀進行訓練,支援中英文雙語預測。 |
姓名 | 類型 | 儲存空間 | 網址 | 抱臉 | 描述 |
---|---|---|---|---|---|
EasyAnimateV4-XL-2-InP.tar.gz | EasyAnimateV4 | 提取前:8.9 GB / 提取後:14.0 GB | 下載 | ? | 我們的官方圖形生成視頻模型能夠預測多種分辨率(512、768、1024、1280)的視頻,並以每秒 24 幀的速率對 144 幀進行了訓練。 |
姓名 | 類型 | 儲存空間 | 網址 | 抱臉 | 描述 |
---|---|---|---|---|---|
EasyAnimateV3-XL-2-InP-512x512.tar | EasyAnimateV3 | 18.2GB | 下載 | ? | EasyAnimateV3 官方權重為 512x512 文字和圖像到影片解析度。使用 144 幀和 fps 24 進行訓練 |
EasyAnimateV3-XL-2-InP-768x768.tar | EasyAnimateV3 | 18.2GB | 下載 | ? | EasyAnimateV3 官方權重為 768x768 文字和圖像到影片解析度。使用 144 幀和 fps 24 進行訓練 |
EasyAnimateV3-XL-2-InP-960x960.tar | EasyAnimateV3 | 18.2GB | 下載 | ? | EasyAnimateV3 官方權重為 960x960 文字和圖像到影片解析度。使用 144 幀和 fps 24 進行訓練 |
姓名 | 類型 | 儲存空間 | 網址 | 描述 |
---|---|---|---|---|
easyanimate_v1_mm.safetensors | 運動模組 | 4.1GB | 下載 | 使用 80 幀和 fps 12 進行訓練 |
姓名 | 類型 | 儲存空間 | 網址 | 描述 |
---|---|---|---|---|
PixArt-XL-2-512x512.tar | 圖片 | 11.4GB | 下載 | Pixart-Alpha 官方權重 |
easyanimate_portrait.safetensors | 圖片的檢查站 | 2.3GB | 下載 | 使用內部肖像資料集進行訓練 |
easyanimate_portrait_lora.safetensors | 皮克斯藝術的洛拉 | 654.0MB | 下載 | 使用內部肖像資料集進行訓練 |
此專案根據 Apache 授權(2.0 版)授權。