? 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等多种控制条件。支持多种分辨率(512、768、1024)的视频预测,并以每秒8帧的49帧进行训练。支持中英文双语预测。 |
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 版)获得许可。