| | --- |
| | license: apache-2.0 |
| | frameworks: |
| | - PyTorch |
| | pipeline_tag: text-to-image |
| | --- |
| | |
| |
|
| | # AnimateDiff |
| |
|
| |
|
| |
|
| | # 目录 |
| |
|
| | [英文](README_EN.md) |
| |
|
| | [链接](https://www.openeuler.org/zh/oEEP/?name=oEEP-0002%20oEEP%20%E6%A0%BC%E5%BC%8F%E4%B8%8E%E5%86%85%E5%AE%B9%E8%A7%84%E8%8C%83#oeep-%E5%86%85%E5%AE%B9%E8%A6%81%E6%B1%82) |
| |
|
| | - [概述](#概述) |
| | - [准备训练环境](#准备训练环境) |
| | - [模型训练](#模型训练) |
| | - [模型推理](#模型推理) |
| | - [版本说明](#版本说明) |
| |
|
| |
|
| |
|
| | ## 概述 |
| |
|
| | ### 模型介绍 |
| |
|
| | AnimateDiff提出了一个有效的框架,可将现有的大多数个性化文本到图像模型一次性制成动画,从而节省了针对特定模型进行微调的工作量。 |
| |
|
| | 本仓已经支持以下模型任务类型 |
| |
|
| | | 模型 | 任务列表 | 是否支持 | |
| | |:-----------:|:----:|:-----:| |
| | | AnimateDiff | 训练 | ✔ | |
| | | AnimateDiff | 推理 | ✔ | |
| |
|
| | - 参考实现: |
| |
|
| | ``` |
| | url=https://github.com/guoyww/AnimateDiff.git |
| | commit_id=cf80ddeb47b69cf0b16f225800de081d486d7f21 |
| | ``` |
| |
|
| | - 适配昇腾AI处理器的实现: |
| | ```shell |
| | url=https://openmind.cn/models/Ascend-PyTorch/AnimateDiff |
| | ``` |
| |
|
| | ## 准备训练环境 |
| |
|
| | ### 创建python环境 |
| |
|
| | - git clone 远程仓 |
| | ```shell |
| | git clone https://openmind.cn/Ascend-PyTorch/AnimateDiff.git |
| | cd AnimateDiff |
| | ``` |
| |
|
| | - 创建python环境并且安装python三方包 |
| | ```shell |
| | conda env create -f environment.yaml |
| | conda activate animatediff |
| | pip3 install torch==2.1.0+cpu --index-url https://download.pytorch.org/whl/cpu # For X86 |
| | pip3 install torch==2.1.0 # For Aarch64 |
| | pip3 install accelerate==0.28.0 diffusers==0.11.1 decorator==5.1.1 scipy==1.12.0 attrs==23.2.0 torchvision==0.16.0 transformers==4.25.1 |
| | ``` |
| | - 环境准备指导 |
| |
|
| | 请参考《[Pytorch框架训练环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/ptes)》。 |
| |
|
| | **表 1** 昇腾软件版本支持表 |
| | |
| | | 软件类型 | 支持版本 | |
| | |:-----------:|:--------:| |
| | | FrameworkPTAdapter | 在研版本 | |
| | | CANN | 在研版本 | |
| | | 昇腾NPU固件 | 在研版本 | |
| | | 昇腾NPU驱动 | 在研版本 | |
| |
|
| |
|
| | ### 准备数据集 |
| |
|
| | - 需要自行下载WebVid10M数据集,分别将csv文件和2M_val文件夹传入训练脚本对应的csv_path和video_folder参数上面: |
| | ``` |
| | 数据集结构 |
| | ├── 2M_val |
| | │ ├── 10003109.mp4 |
| | │ ├── 10023815.mp4 |
| | │ ├── 10024310.mp4 |
| | │ ├── 10042700.mp4 |
| | │ ├── 10052036.mp4 |
| | │ ├── 10052783.mp4 |
| | │ ├── 1005608956.mp4 |
| | └── results_2M_val.csv |
| | ``` |
| | 数据来源可以参考 https://github.com/guoyww/AnimateDiff/blob/main/__assets__/docs/animatediff.md 中的数据准备章节。 |
| | ### 准备预训练权重 |
| | |
| | - 需要准备2个模型权重: |
| | ```shell |
| | runwayml/stable-diffusion-v1-5 |
| | openai/clip-vit-large-patch14 |
| | ``` |
| | - 将stable-diffusion-v1-5 路径传入到configs/training/v1/image_finetune.yaml 的pretrained_model_path。 |
| | - openai/clip-vit-large-patch14需要放置到模型的根目录下面。 |
| | ### 准备推理权重 |
| | - 如果想使用animatediff的推理功能需要下载下面提及到的模型,按照模型的名字对应放到models目录下面DreamBooth_LoRA、MotionLoRA、Motion_Module、SparseCtrl、StableDiffusion文件夹中。 |
| | 模型获取可以参考 https://github.com/guoyww/AnimateDiff/blob/main/__assets__/docs/animatediff.md 文档。 |
| | <details> |