模型概述
模型特點
模型能力
使用案例
🚀 CogVideoX-Fun
CogVideoX-Fun是一個基於CogVideoX結構修改後的pipeline,生成條件更自由。可用於生成AI圖片與視頻、訓練Diffusion Transformer的基線模型與Lora模型。支持從已訓練好的模型直接預測,生成不同分辨率、6秒左右、fps8的視頻(1 ~ 49幀),也支持用戶訓練自己的基線模型與Lora模型進行風格變換。
🚀 快速開始
1. 雲使用: AliyunDSW/Docker
a. 通過阿里雲 DSW
DSW 有免費 GPU 時間,用戶可申請一次,申請後3個月內有效。阿里雲在Freetier提供免費GPU時間,獲取並在阿里雲PAI-DSW中使用,5分鐘內即可啟動CogVideoX-Fun。
b. 通過ComfyUI
我們的ComfyUI界面如下,具體查看ComfyUI README。
c. 通過docker
使用docker的情況下,請保證機器中已經正確安裝顯卡驅動與CUDA環境,然後依次執行以下命令:
# pull image
docker pull mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:cogvideox_fun
# 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:cogvideox_fun
# clone code
git clone https://github.com/aigc-apps/CogVideoX-Fun.git
# enter CogVideoX-Fun's dir
cd CogVideoX-Fun
# download weights
mkdir models/Diffusion_Transformer
mkdir models/Personalized_Model
wget https://pai-aigc-photog.oss-cn-hangzhou.aliyuncs.com/cogvideox_fun/Diffusion_Transformer/CogVideoX-Fun-2b-InP.tar.gz -O models/Diffusion_Transformer/CogVideoX-Fun-2b-InP.tar.gz
cd models/Diffusion_Transformer/
tar -xvf CogVideoX-Fun-2b-InP.tar.gz
cd ../../
2. 本地安裝: 環境檢查/下載/安裝
a. 環境檢查
我們已驗證CogVideoX-Fun可在以下環境中執行:
Windows 的詳細信息:
- 操作系統 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 的詳細信息:
- 操作系統 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-2b-InP/
│ └── 📂 CogVideoX-Fun-5b-InP/
├── 📂 Personalized_Model/
│ └── your trained trainformer model / your trained lora model (for UI load)
✨ 主要特性
CogVideoX-Fun是基於CogVideoX結構修改後的pipeline,具有以下特性:
- 生成條件更自由,可用於生成AI圖片與視頻、訓練Diffusion Transformer的基線模型與Lora模型。
- 支持從已經訓練好的CogVideoX-Fun模型直接進行預測,生成不同分辨率,6秒左右、fps8的視頻(1 ~ 49幀)。
- 支持用戶訓練自己的基線模型與Lora模型,進行一定的風格變換。
- 新特性:創建代碼!現在支持 Windows 和 Linux。支持2b與5b最大256x256x49到1024x1024x49的任意分辨率的視頻生成。[ 2024.09.18 ]
我們的ui界面如下:
🎥 視頻作品
所展示的結果都是圖生視頻獲得。
CogVideoX-Fun-5B
Resolution-1024
Resolution-768
Resolution-512
CogVideoX-Fun-2B
Resolution-768
💻 使用示例
1. 生成
a. 視頻生成
i、運行python文件
- 步驟1:下載對應權重放入models文件夾。
- 步驟2:在predict_t2v.py文件中修改prompt、neg_prompt、guidance_scale和seed。
- 步驟3:運行predict_t2v.py文件,等待生成結果,結果保存在samples/cogvideox-fun-videos-t2v文件夾中。
- 步驟4:如果想結合自己訓練的其他backbone與Lora,則看情況修改predict_t2v.py中的predict_t2v.py和lora_path。
ii、通過ui界面
- 步驟1:下載對應權重放入models文件夾。
- 步驟2:運行app.py文件,進入gradio頁面。
- 步驟3:根據頁面選擇生成模型,填入prompt、neg_prompt、guidance_scale和seed等,點擊生成,等待生成結果,結果保存在sample文件夾中。
iii、通過comfyui
具體查看ComfyUI README。
2. 模型訓練
一個完整的CogVideoX-Fun訓練鏈路應該包括數據預處理和Video DiT訓練。
a. 數據預處理
我們給出了一個簡單的demo通過圖片數據訓練lora模型,詳情可以查看wiki。
一個完整的長視頻切分、清洗、描述的數據預處理鏈路可以參考video caption部分的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 DiT訓練
如果數據預處理時,數據的格式為相對路徑,則進入scripts/train.sh進行如下設置。
export DATASET_NAME="datasets/internal_datasets/"
export DATASET_META_NAME="datasets/internal_datasets/json_of_internal_datasets.json"
...
train_data_format="normal"
如果數據的格式為絕對路徑,則進入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
📚 詳細文檔
模型地址
名稱 | 存儲空間 | Hugging Face | Model Scope | 描述 |
---|---|---|---|---|
CogVideoX-Fun-2b-InP.tar.gz | 解壓前 9.7 GB / 解壓後 13.0 GB | 🤗Link | 😄Link | 官方的圖生視頻權重。支持多分辨率(512,768,1024,1280)的視頻預測,以49幀、每秒8幀進行訓練 |
CogVideoX-Fun-5b-InP.tar.gz | 解壓前 16.0GB / 解壓後 20.0 GB | 🤗Link | 😄Link | 官方的圖生視頻權重。支持多分辨率(512,768,1024,1280)的視頻預測,以49幀、每秒8幀進行訓練 |
未來計劃
- 支持中文。
參考文獻
- CogVideo: https://github.com/THUDM/CogVideo/
- EasyAnimate: https://github.com/aigc-apps/EasyAnimate
📄 許可證
本項目採用 Apache License (Version 2.0).
CogVideoX-2B 模型 (包括其對應的Transformers模塊,VAE模塊) 根據 Apache 2.0 協議 許可證發佈。
CogVideoX-5B 模型(Transformer 模塊)在CogVideoX許可證下發布.



