File size: 3,453 Bytes
7d145de |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
---
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> |