? EasyAnimate é uma solução ponta a ponta para gerar vídeos longos e de alta resolução. Podemos treinar geradores de difusão baseados em transformadores, treinar VAEs para processar vídeos longos e pré-processar metadados.
? Utilizamos DIT e transformador como difusor para geração de vídeo e imagem.
? Bem-vindo!
Inglês | 简体中文 | 日本語
EasyAnimate é um pipeline baseado na arquitetura do transformador, projetado para gerar imagens e vídeos de IA e para treinar modelos de linha de base e modelos Lora para Diffusion Transformer. Oferecemos suporte à previsão direta de modelos EasyAnimate pré-treinados, permitindo a geração de vídeos com diversas resoluções, com aproximadamente 6 segundos de duração, a 8fps (EasyAnimateV5, 1 a 49 frames). Além disso, os usuários podem treinar seus próprios modelos de linha de base e Lora para transformações de estilo específicas.
Apoiaremos pull-ups rápidos de diferentes plataformas, consulte Início rápido.
Novos recursos:
Função:
Nossa interface UI é a seguinte:
O DSW possui tempo de GPU gratuito, que pode ser aplicado uma vez pelo usuário e é válido por 3 meses após a aplicação.
Aliyun fornece tempo de GPU gratuito no Freetier, obtenha-o e use-o no Aliyun PAI-DSW para iniciar o EasyAnimate em 5 minutos!
Nosso ComfyUI é o seguinte, consulte o README do ComfyUI para obter detalhes.
Se você estiver usando o docker, certifique-se de que o driver da placa gráfica e o ambiente CUDA foram instalados corretamente em sua máquina.
Em seguida, execute os seguintes comandos desta forma:
# 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
Verificamos a execução do EasyAnimate no seguinte ambiente:
O detalhado do Windows:
O detalhado do Linux:
Precisamos de cerca de 60GB disponíveis em disco (para economizar peso), verifique!
É melhor colocarmos os pesos ao longo do caminho especificado:
EasyAnimateV5:
? models/
├── Diffusion_Transformer/
│ ├── EasyAnimateV5-12b-zh-InP/
│ └── EasyAnimateV5-12b-zh/
├── Personalized_Model/
│ └── your trained trainformer model / your trained lora model (for UI load)
Os resultados exibidos são todos baseados em imagem.
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 |
demo_pose.mp4 | demo_scribble.mp4 | demo_profundidade.mp4 |
demo_pose_out.mp4 | demo_scribble_out.mp4 | demo_profundidade_out.mp4 |
Consulte o README do ComfyUI para obter detalhes.
Devido aos grandes parâmetros do EasyAnimateV5, precisamos considerar esquemas de economia de memória da GPU para conservar memória. Fornecemos uma opção GPU_memory_mode
para cada arquivo de previsão, que pode ser selecionada em model_cpu_offload
, model_cpu_offload_and_qfloat8
e sequential_cpu_offload
.
model_cpu_offload
indica que todo o modelo será descarregado para a CPU após o uso, economizando alguma memória da GPU.model_cpu_offload_and_qfloat8
indica que todo o modelo será descarregado para a CPU após o uso, e o modelo do transformador é quantizado para float8, economizando ainda mais memória da GPU.sequential_cpu_offload
significa que cada camada do modelo será descarregada para a CPU após o uso, o que é mais lento, mas economiza uma quantidade substancial de memória da GPU.Um pipeline de treinamento EasyAnimate completo deve incluir pré-processamento de dados, treinamento em Video VAE e treinamento em Video DiT. Dentre eles, o treinamento em Vídeo VAE é opcional porque já oferecemos um Vídeo VAE pré-treinado.
Fornecemos uma demonstração simples de treinamento do modelo Lora por meio de dados de imagem, que pode ser encontrada no wiki para obter detalhes.
Um link completo de pré-processamento de dados para segmentação, limpeza e descrição de vídeos longos pode consultar o README na seção de legendas de vídeos.
Se você deseja treinar um modelo de geração de texto para imagem e vídeo. Você precisa organizar o conjunto de dados neste formato.
? project/
├── datasets/
│ ├── internal_datasets/
│ ├── train/
│ │ ├── ? 00000001.mp4
│ │ ├── ? 00000002.jpg
│ │ └── ? .....
│ └── ? json_of_internal_datasets.json
O json_of_internal_datasets.json é um arquivo JSON padrão. O file_path no json pode ser definido como caminho relativo, conforme mostrado abaixo:
[
{
"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 "
},
.....
]
Você também pode definir o caminho como caminho absoluto da seguinte forma:
[
{
"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 "
},
.....
]
O treinamento em Vídeo VAE é uma opção opcional, pois já fornecemos Vídeo VAEs pré-treinados. Se você quiser treinar o vídeo, você pode consultar o README na seção do vídeo.
Se o formato dos dados for um caminho relativo durante o pré-processamento dos dados, defina scripts/train.sh
conforme a seguir.
export DATASET_NAME="datasets/internal_datasets/"
export DATASET_META_NAME="datasets/internal_datasets/json_of_internal_datasets.json"
Se o formato dos dados for o caminho absoluto durante o pré-processamento dos dados, defina scripts/train.sh
como segue.
export DATASET_NAME=""
export DATASET_META_NAME="/mnt/data/json_of_internal_datasets.json"
Em seguida, executamos scripts/train.sh.
sh scripts/train.sh
Para obter detalhes sobre como definir alguns parâmetros, consulte Readme Train e Readme Lora.
EasyAnimateV5:
Nome | Tipo | Espaço de armazenamento | Abraçando o rosto | Escopo do modelo | Descrição |
---|---|---|---|---|---|
EasyAnimateV5-12b-zh-InP | EasyAnimateV5 | 34GB | ?Link | ?Link | Pesos oficiais de imagem para vídeo. Suporta previsão de vídeo em múltiplas resoluções (512, 768, 1024), treinado com 49 quadros a 8 quadros por segundo e suporta previsão bilíngue em chinês e inglês. |
EasyAnimateV5-12b-zh-Control | EasyAnimateV5 | 34GB | ?Link | ?Link | Pesos oficiais de controle de vídeo, suportando várias condições de controle, como Canny, Depth, Pose, MLSD, etc. Suporta previsão de vídeo em múltiplas resoluções (512, 768, 1024) e é treinado com 49 quadros a 8 quadros por segundo. A previsão bilíngue em chinês e inglês é suportada. |
EasyAnimateV5-12b-zh | EasyAnimateV5 | 34 GB | ?Link | ?Link | Pesos oficiais de texto para vídeo. Suporta previsão de vídeo em múltiplas resoluções (512, 768, 1024), treinado com 49 quadros a 8 quadros por segundo e suporta previsão bilíngue em chinês e inglês. |
Nome | Tipo | Espaço de armazenamento | URL | Abraçando o rosto | Descrição |
---|---|---|---|---|---|
EasyAnimateV4-XL-2-InP.tar.gz | EasyAnimateV4 | Antes da extração: 8,9 GB / Após a extração: 14,0 GB | Download | ?Link | Nosso modelo oficial de vídeo gerado por gráfico é capaz de prever vídeos em múltiplas resoluções (512, 768, 1024, 1280) e foi treinado em 144 quadros a uma taxa de 24 quadros por segundo. |
Nome | Tipo | Espaço de armazenamento | URL | Abraçando o rosto | Descrição |
---|---|---|---|---|---|
EasyAnimateV3-XL-2-InP-512x512.tar | EasyAnimateV3 | 18,2 GB | Download | ?Link | Pesos oficiais EasyAnimateV3 para texto e imagem de 512x512 para resolução de vídeo. Treinando com 144 frames e fps 24 |
EasyAnimateV3-XL-2-InP-768x768.tar | EasyAnimateV3 | 18,2 GB | Download | ?Link | Pesos oficiais do EasyAnimateV3 para texto e imagem de 768x768 para resolução de vídeo. Treinando com 144 frames e fps 24 |
EasyAnimateV3-XL-2-InP-960x960.tar | EasyAnimateV3 | 18,2 GB | Download | ?Link | Pesos oficiais EasyAnimateV3 para texto e imagem de 960x960 para resolução de vídeo. Treinando com 144 frames e fps 24 |
Nome | Tipo | Espaço de armazenamento | URL | Descrição |
---|---|---|---|---|
easyanimate_v1_mm.safetensors | Módulo de movimento | 4,1 GB | download | Treinando com 80 frames e fps 12 |
Nome | Tipo | Espaço de armazenamento | URL | Descrição |
---|---|---|---|---|
PixArt-XL-2-512x512.tar | Pixart | 11,4 GB | download | Pesos oficiais Pixart-Alpha |
easyanimate_portrait.safetensors | Ponto de verificação da Pixart | 2,3 GB | download | Treinamento com conjuntos de dados de retratos internos |
easyanimate_portrait_lora.safetensors | Lora da Pixart | 654,0 MB | download | Treinamento com conjuntos de dados de retratos internos |
Este projeto está licenciado sob a licença Apache (versão 2.0).