? EasyAnimate est une solution de bout en bout pour générer des vidéos longues et haute résolution. Nous pouvons former des générateurs de diffusion basés sur des transformateurs, former des VAE pour le traitement de longues vidéos et prétraiter les métadonnées.
? Nous utilisons DIT et Transformer comme diffuseur pour la génération de vidéos et d'images.
? Accueillir!
Anglais | 简体中文 | 日本語
EasyAnimate est un pipeline basé sur l'architecture du transformateur, conçu pour générer des images et des vidéos d'IA, ainsi que pour former des modèles de base et des modèles Lora pour Diffusion Transformer. Nous prenons en charge la prédiction directe à partir de modèles EasyAnimate pré-entraînés, permettant la génération de vidéos avec différentes résolutions, d'une durée d'environ 6 secondes, à 8 ips (EasyAnimateV5, 1 à 49 images). De plus, les utilisateurs peuvent former leurs propres modèles de base et Lora pour des transformations de style spécifiques.
Nous prendrons en charge les extractions rapides à partir de différentes plates-formes, reportez-vous à Démarrage rapide.
Nouvelles fonctionnalités :
Fonction:
Notre interface utilisateur est la suivante :
DSW dispose de temps GPU gratuit, qui peut être appliqué une fois par un utilisateur et est valable 3 mois après l'application.
Aliyun offre du temps GPU gratuit dans Freetier, obtenez-le et utilisez-le dans Aliyun PAI-DSW pour démarrer EasyAnimate en 5 minutes !
Notre ComfyUI est la suivante, veuillez vous référer au ComfyUI README pour plus de détails.
Si vous utilisez Docker, assurez-vous que le pilote de la carte graphique et l'environnement CUDA ont été correctement installés sur votre machine.
Exécutez ensuite les commandes suivantes de cette manière :
# 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
Nous avons vérifié l'exécution d'EasyAnimate sur l'environnement suivant :
Le détail de Windows :
Le détail de Linux :
Nous avons besoin d'environ 60 Go disponibles sur le disque (pour économiser du poids), veuillez vérifier !
Nous ferions mieux de placer les poids le long du chemin spécifié :
EasyAnimateV5 :
? models/
├── Diffusion_Transformer/
│ ├── EasyAnimateV5-12b-zh-InP/
│ └── EasyAnimateV5-12b-zh/
├── Personalized_Model/
│ └── your trained trainformer model / your trained lora model (for UI load)
Les résultats affichés sont tous basés sur l'image.
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 |
démo_pose.mp4 | démo_scribble.mp4 | démo_profondeur.mp4 |
demo_pose_out.mp4 | demo_scribble_out.mp4 | demo_profondeur_out.mp4 |
Veuillez vous référer au README ComfyUI pour plus de détails.
En raison des paramètres importants d'EasyAnimateV5, nous devons envisager des schémas d'économie de mémoire GPU pour conserver la mémoire. Nous fournissons une option GPU_memory_mode
pour chaque fichier de prédiction, qui peut être sélectionnée parmi model_cpu_offload
, model_cpu_offload_and_qfloat8
et sequential_cpu_offload
.
model_cpu_offload
indique que l'intégralité du modèle sera déchargé sur le CPU après utilisation, économisant ainsi de la mémoire GPU.model_cpu_offload_and_qfloat8
indique que l'intégralité du modèle sera déchargé sur le CPU après utilisation et que le modèle de transformateur est quantifié en float8, économisant encore plus de mémoire GPU.sequential_cpu_offload
signifie que chaque couche du modèle sera déchargée sur le CPU après utilisation, ce qui est plus lent mais économise une quantité substantielle de mémoire GPU.Un pipeline de formation EasyAnimate complet doit inclure le prétraitement des données, la formation Video VAE et la formation Video DiT. Parmi celles-ci, la formation VAE Vidéo est facultative car nous avons déjà prévu une VAE Vidéo pré-formée.
Nous avons fourni une démonstration simple de formation du modèle Lora à l'aide de données d'image, qui peut être trouvée dans le wiki pour plus de détails.
Un lien complet de prétraitement des données pour la segmentation, le nettoyage et la description des vidéos longues peut faire référence au README dans la section des sous-titres vidéo.
Si vous souhaitez entraîner un modèle de génération de texte en image et vidéo. Vous devez organiser l'ensemble de données dans ce format.
? project/
├── datasets/
│ ├── internal_datasets/
│ ├── train/
│ │ ├── ? 00000001.mp4
│ │ ├── ? 00000002.jpg
│ │ └── ? .....
│ └── ? json_of_internal_datasets.json
Le json_of_internal_datasets.json est un fichier JSON standard. Le file_path dans le json peut être défini comme chemin relatif, comme indiqué ci-dessous :
[
{
"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 "
},
.....
]
Vous pouvez également définir le chemin comme chemin absolu comme suit :
[
{
"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 formation VAE Vidéo est une option facultative car nous avons déjà mis à disposition des VAE Vidéo pré-formées. Si vous souhaitez entraîner le vae vidéo, vous pouvez vous référer au README dans la section vae vidéo.
Si le format des données est un chemin relatif lors du prétraitement des données, veuillez définir scripts/train.sh
comme suit.
export DATASET_NAME="datasets/internal_datasets/"
export DATASET_META_NAME="datasets/internal_datasets/json_of_internal_datasets.json"
Si le format des données est un chemin absolu lors du prétraitement des données, veuillez définir scripts/train.sh
comme suit.
export DATASET_NAME=""
export DATASET_META_NAME="/mnt/data/json_of_internal_datasets.json"
Ensuite, nous exécutons scripts/train.sh.
sh scripts/train.sh
Pour plus de détails sur la définition de certains paramètres, veuillez vous référer à Readme Train et Readme Lora.
EasyAnimateV5 :
Nom | Taper | Espace de stockage | Visage câlin | Portée du modèle | Description |
---|---|---|---|---|---|
EasyAnimateV5-12b-zh-InP | FacileAnimateV5 | 34 Go | ?Lien | ?Lien | Pondérations officielles image-vidéo. Prend en charge la prédiction vidéo à plusieurs résolutions (512, 768, 1024), entraînée avec 49 images à 8 images par seconde, et prend en charge la prédiction bilingue en chinois et en anglais. |
EasyAnimateV5-12b-zh-Control | FacileAnimateV5 | 34 Go | ?Lien | ?Lien | Poids de contrôle vidéo officiels, prenant en charge diverses conditions de contrôle telles que Canny, Depth, Pose, MLSD, etc. Prend en charge la prédiction vidéo à plusieurs résolutions (512, 768, 1024) et est entraîné avec 49 images à 8 images par seconde. La prédiction bilingue en chinois et en anglais est prise en charge. |
EasyAnimateV5-12b-zh | FacileAnimateV5 | 34 Go | ?Lien | ?Lien | Poids officiels du texte vers la vidéo. Prend en charge la prédiction vidéo à plusieurs résolutions (512, 768, 1024), entraînée avec 49 images à 8 images par seconde, et prend en charge la prédiction bilingue en chinois et en anglais. |
Nom | Taper | Espace de stockage | URL | Visage câlin | Description |
---|---|---|---|---|---|
EasyAnimateV4-XL-2-InP.tar.gz | FacileAnimateV4 | Avant extraction : 8,9 Go / Après extraction : 14,0 Go | Télécharger | ?Lien | Notre modèle vidéo officiel généré par graphique est capable de prédire des vidéos à plusieurs résolutions (512, 768, 1024, 1280) et a été entraîné sur 144 images à une fréquence de 24 images par seconde. |
Nom | Taper | Espace de stockage | URL | Visage câlin | Description |
---|---|---|---|---|---|
EasyAnimateV3-XL-2-InP-512x512.tar | FacileAnimateV3 | 18,2 Go | Télécharger | ?Lien | Poids officiels EasyAnimateV3 pour une résolution de texte et d'image de 512 x 512 en vidéo. Entraînement avec 144 images et fps 24 |
EasyAnimateV3-XL-2-InP-768x768.tar | FacileAnimateV3 | 18,2 Go | Télécharger | ?Lien | Poids officiels EasyAnimateV3 pour une résolution de texte et d'image de 768 x 768 en vidéo. Entraînement avec 144 images et fps 24 |
EasyAnimateV3-XL-2-InP-960x960.tar | FacileAnimateV3 | 18,2 Go | Télécharger | ?Lien | Pondérations officielles EasyAnimateV3 pour une résolution de texte et d'image de 960 x 960 en vidéo. Entraînement avec 144 images et fps 24 |
Nom | Taper | Espace de stockage | URL | Description |
---|---|---|---|---|
easyanimate_v1_mm.safetensors | Module de mouvement | 4,1 Go | télécharger | Entraînement avec 80 images et fps 12 |
Nom | Taper | Espace de stockage | URL | Description |
---|---|---|---|---|
PixArt-XL-2-512x512.tar | Pixart | 11,4 Go | télécharger | Poids officiels Pixart-Alpha |
easyanimate_portrait.safetensors | Point de contrôle de Pixart | 2,3 Go | télécharger | Entraînement avec des ensembles de données de portrait internes |
easyanimate_portrait_lora.safetensors | Lora de Pixart | 654,0 Mo | télécharger | Entraînement avec des ensembles de données de portrait internes |
Ce projet est sous licence Apache (version 2.0).