? EasyAnimate es una solución de un extremo a otro para generar videos largos y de alta resolución. Podemos entrenar generadores de difusión basados en transformadores, entrenar VAE para procesar videos largos y preprocesar metadatos.
? Utilizamos DIT y transformador como difusor para generación de vídeo e imágenes.
? ¡Bienvenido!
Inglés | 简体中文 | 日本語
EasyAnimate es una canalización basada en la arquitectura de transformador, diseñada para generar imágenes y videos de IA, y para entrenar modelos de referencia y modelos Lora para Diffusion Transformer. Admitimos la predicción directa a partir de modelos EasyAnimate previamente entrenados, lo que permite la generación de videos con varias resoluciones, de aproximadamente 6 segundos de duración, a 8 fps (EasyAnimateV5, de 1 a 49 cuadros). Además, los usuarios pueden entrenar sus propios modelos Lora y de línea base para transformaciones de estilo específicas.
Admitiremos dominadas rápidas desde diferentes plataformas; consulte Inicio rápido.
Nuevas características:
Función:
Nuestra interfaz UI es la siguiente:
DSW tiene tiempo de GPU gratuito, que un usuario puede aplicar una vez y es válido durante 3 meses después de la solicitud.
Aliyun proporciona tiempo de GPU gratuito en Freetier, consíguelo y úsalo en Aliyun PAI-DSW para iniciar EasyAnimate en 5 minutos.
Nuestro ComfyUI es el siguiente; consulte ComfyUI README para obtener más detalles.
Si está utilizando Docker, asegúrese de que el controlador de la tarjeta gráfica y el entorno CUDA se hayan instalado correctamente en su máquina.
Luego ejecute los siguientes comandos de esta manera:
# 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
Hemos verificado la ejecución de EasyAnimate en el siguiente entorno:
El detalle de Windows:
El detalle de Linux:
Necesitamos unos 60 GB disponibles en disco (para ahorrar peso), ¡compruébalo!
Será mejor que coloquemos los pesos a lo largo de la ruta especificada:
FácilAnimateV5:
? models/
├── Diffusion_Transformer/
│ ├── EasyAnimateV5-12b-zh-InP/
│ └── EasyAnimateV5-12b-zh/
├── Personalized_Model/
│ └── your trained trainformer model / your trained lora model (for UI load)
Todos los resultados mostrados se basan en la imagen.
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_profundidad.mp4 |
demo_pose_out.mp4 | demo_scribble_out.mp4 | demo_profundidad_out.mp4 |
Consulte ComfyUI README para obtener más detalles.
Debido a los grandes parámetros de EasyAnimateV5, debemos considerar esquemas de ahorro de memoria de GPU para conservar memoria. Proporcionamos una opción GPU_memory_mode
para cada archivo de predicción, que se puede seleccionar entre model_cpu_offload
, model_cpu_offload_and_qfloat8
y sequential_cpu_offload
.
model_cpu_offload
indica que todo el modelo se descargará a la CPU después de su uso, ahorrando algo de memoria de la GPU.model_cpu_offload_and_qfloat8
indica que todo el modelo se descargará a la CPU después de su uso, y el modelo del transformador se cuantifica a float8, lo que ahorra aún más memoria de GPU.sequential_cpu_offload
significa que cada capa del modelo se descargará a la CPU después de su uso, lo cual es más lento pero ahorra una cantidad sustancial de memoria de la GPU.Un proceso completo de capacitación de EasyAnimate debe incluir preprocesamiento de datos, capacitación en Video VAE y capacitación en Video DiT. Entre estos, la capacitación en Video VAE es opcional porque ya proporcionamos un Video VAE previamente capacitado.
Proporcionamos una demostración sencilla de cómo entrenar el modelo Lora a través de datos de imágenes, que se puede encontrar en la wiki para obtener más detalles.
Un enlace completo de preprocesamiento de datos para segmentación, limpieza y descripción de videos largos puede consultar README en la sección de subtítulos de videos.
Si desea entrenar un modelo de generación de texto a imagen y video. Debe organizar el conjunto de datos en este formato.
? project/
├── datasets/
│ ├── internal_datasets/
│ ├── train/
│ │ ├── ? 00000001.mp4
│ │ ├── ? 00000002.jpg
│ │ └── ? .....
│ └── ? json_of_internal_datasets.json
json_of_internal_datasets.json es un archivo JSON estándar. La ruta_archivo en el json se puede configurar como ruta relativa, como se muestra a continuación:
[
{
"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 "
},
.....
]
También puede configurar la ruta como ruta absoluta de la siguiente manera:
[
{
"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 "
},
.....
]
La capacitación en Video VAE es una opción opcional, ya que ya hemos proporcionado Video VAE previamente capacitados. Si desea entrenar video vae, puede consultar README en la sección video vae.
Si el formato de datos es una ruta relativa durante el preprocesamiento de datos, configure scripts/train.sh
de la siguiente manera.
export DATASET_NAME="datasets/internal_datasets/"
export DATASET_META_NAME="datasets/internal_datasets/json_of_internal_datasets.json"
Si el formato de datos es una ruta absoluta durante el preprocesamiento de datos, configure scripts/train.sh
de la siguiente manera.
export DATASET_NAME=""
export DATASET_META_NAME="/mnt/data/json_of_internal_datasets.json"
Luego, ejecutamos scripts/train.sh.
sh scripts/train.sh
Para obtener detalles sobre cómo configurar algunos parámetros, consulte Readme Train y Readme Lora.
FácilAnimateV5:
Nombre | Tipo | Espacio de almacenamiento | abrazando la cara | Alcance del modelo | Descripción |
---|---|---|---|---|---|
EasyAnimateV5-12b-zh-InP | FácilAnimateV5 | 34GB | ?Enlace | ?Enlace | Pesos oficiales de imagen a video. Admite predicción de video en múltiples resoluciones (512, 768, 1024), entrenado con 49 cuadros a 8 cuadros por segundo y admite predicción bilingüe en chino e inglés. |
EasyAnimateV5-12b-zh-Control | FácilAnimateV5 | 34GB | ?Enlace | ?Enlace | Pesos de control de video oficiales, que admiten diversas condiciones de control como Canny, Depth, Pose, MLSD, etc. Admite predicción de video en múltiples resoluciones (512, 768, 1024) y está entrenado con 49 fotogramas a 8 fotogramas por segundo. Se admite la predicción bilingüe en chino e inglés. |
EasyAnimateV5-12b-zh | FácilAnimateV5 | 34GB | ?Enlace | ?Enlace | Pesos oficiales de texto a video. Admite predicción de video en múltiples resoluciones (512, 768, 1024), entrenado con 49 cuadros a 8 cuadros por segundo y admite predicción bilingüe en chino e inglés. |
Nombre | Tipo | Espacio de almacenamiento | URL | abrazando la cara | Descripción |
---|---|---|---|---|---|
EasyAnimateV4-XL-2-InP.tar.gz | FácilAnimateV4 | Antes de la extracción: 8,9 GB / Después de la extracción: 14,0 GB | Descargar | ?Enlace | Nuestro modelo de video oficial generado por gráficos es capaz de predecir videos en múltiples resoluciones (512, 768, 1024, 1280) y ha sido entrenado en 144 fotogramas a una velocidad de 24 fotogramas por segundo. |
Nombre | Tipo | Espacio de almacenamiento | URL | abrazando la cara | Descripción |
---|---|---|---|---|---|
EasyAnimateV3-XL-2-InP-512x512.tar | FácilAnimateV3 | 18,2GB | Descargar | ?Enlace | Pesos oficiales de EasyAnimateV3 para resolución de texto e imagen a vídeo de 512x512. Entrenamiento con 144 frames y fps 24 |
EasyAnimateV3-XL-2-InP-768x768.tar | FácilAnimateV3 | 18,2GB | Descargar | ?Enlace | Pesos oficiales de EasyAnimateV3 para resolución de texto e imagen a vídeo de 768x768. Entrenamiento con 144 frames y fps 24 |
EasyAnimateV3-XL-2-InP-960x960.tar | FácilAnimateV3 | 18,2GB | Descargar | ?Enlace | Pesos oficiales de EasyAnimateV3 para resolución de texto e imagen a vídeo de 960x960. Entrenamiento con 144 frames y fps 24 |
Nombre | Tipo | Espacio de almacenamiento | URL | Descripción |
---|---|---|---|---|
easyanimate_v1_mm.safetensores | Módulo de movimiento | 4,1GB | descargar | Entrenamiento con 80 cuadros y fps 12 |
Nombre | Tipo | Espacio de almacenamiento | URL | Descripción |
---|---|---|---|---|
PixArt-XL-2-512x512.tar | Pixart | 11,4GB | descargar | Pesos oficiales de Pixart-Alpha |
easyanimate_portrait.safetensores | Punto de control de Pixart | 2,3GB | descargar | Entrenamiento con conjuntos de datos de retratos internos |
easyanimate_portrait_lora.safetensores | Lora de Pixart | 654.0MB | descargar | Entrenamiento con conjuntos de datos de retratos internos |
Este proyecto tiene la licencia Apache (Versión 2.0).