README.md 5.23 KB
Newer Older
jerrrrry's avatar
jerrrrry committed
1
# hunyuan-I2V
jerrrrry's avatar
jerrrrry committed
2

jerrrrry's avatar
jerrrrry committed
3
## 项目简介
jerrrrry's avatar
jerrrrry committed
4

jerrrrry's avatar
jerrrrry committed
5
hunyuan-I2V 是一个基于多GPU环境下的文本到视频(Text-to-Video)生成项目,整合了多种先进模型,支持高分辨率、高质量的视频生成。项目中使用了 Docker 容器化环境,便于快速部署和测试,适合研究、产品原型开发及教学演示。
jerrrrry's avatar
jerrrrry committed
6

jerrrrry's avatar
jerrrrry committed
7
---
jerrrrry's avatar
jerrrrry committed
8

jerrrrry's avatar
jerrrrry committed
9
## 环境部署
jerrrrry's avatar
jerrrrry committed
10

jerrrrry's avatar
jerrrrry committed
11
### 1. 拉取镜像
jerrrrry's avatar
jerrrrry committed
12

jerrrrry's avatar
jerrrrry committed
13
14
```bash
docker pull harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.4-1230-py3.10-20260115
jerrrrry's avatar
jerrrrry committed
15
16
```

jerrrrry's avatar
jerrrrry committed
17
### 2. 创建容器
jerrrrry's avatar
jerrrrry committed
18

jerrrrry's avatar
jerrrrry committed
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
```bash
docker run -it \
--network=host \
--hostname=localhost \
--name=hunyuan \
-v /opt/hyhal:/opt/hyhal:ro \
-v $PWD:/workspace \
--ipc=host \
--device=/dev/kfd \
--device=/dev/mkfd \
--device=/dev/dri \
--shm-size=512G \
--privileged \
--group-add video \
--cap-add=SYS_PTRACE \
-u root \
--security-opt seccomp=unconfined \
harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.4-1230-py3.10-20260115 \
/bin/bash
jerrrrry's avatar
jerrrrry committed
38
39
```

jerrrrry's avatar
jerrrrry committed
40
---
jerrrrry's avatar
jerrrrry committed
41

jerrrrry's avatar
jerrrrry committed
42
## 测试步骤
jerrrrry's avatar
jerrrrry committed
43

jerrrrry's avatar
jerrrrry committed
44
### 1. 拉取代码
jerrrrry's avatar
jerrrrry committed
45

jerrrrry's avatar
jerrrrry committed
46
47
48
```bash
git clone http://developer.sourcefind.cn/codes/bw-bestperf/hunyuanvideo-i2v.git
cd hunyuanvideo-i2v/
jerrrrry's avatar
jerrrrry committed
49
50
```

jerrrrry's avatar
jerrrrry committed
51
### 2. 安装依赖
jerrrrry's avatar
jerrrrry committed
52
53

```bash
jerrrrry's avatar
jerrrrry committed
54
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
jerrrrry's avatar
jerrrrry committed
55

jerrrrry's avatar
jerrrrry committed
56
pip install yunchang==0.6.0 xfuser==0.4.2
jerrrrry's avatar
jerrrrry committed
57

jerrrrry's avatar
jerrrrry committed
58
bash fix.sh  # 适配xfuser
jerrrrry's avatar
jerrrrry committed
59
60
```

jerrrrry's avatar
jerrrrry committed
61
### 3. 下载模型
jerrrrry's avatar
jerrrrry committed
62

jerrrrry's avatar
jerrrrry committed
63
安装 ModelScope:
jerrrrry's avatar
jerrrrry committed
64

jerrrrry's avatar
jerrrrry committed
65
66
67
```bash
pip install modelscope
```
jerrrrry's avatar
jerrrrry committed
68

jerrrrry's avatar
jerrrrry committed
69
下载所需模型:
jerrrrry's avatar
jerrrrry committed
70

jerrrrry's avatar
jerrrrry committed
71
72
```bash
mkdir ckpts
jerrrrry's avatar
jerrrrry committed
73

jerrrrry's avatar
jerrrrry committed
74
modelscope download --model Tencent-Hunyuan/HunyuanVideo --local_dir ./ckpts
jerrrrry's avatar
jerrrrry committed
75

jerrrrry's avatar
jerrrrry committed
76
modelscope download --model AI-ModelScope/HunyuanVideo-I2V --local_dir ./ckpts
jerrrrry's avatar
jerrrrry committed
77

jerrrrry's avatar
jerrrrry committed
78
modelscope download --model AI-ModelScope/clip-vit-large-patch14 --local_dir ckpts/text_encoder_2
jerrrrry's avatar
jerrrrry committed
79

jerrrrry's avatar
jerrrrry committed
80
modelscope download --model AI-ModelScope/llava-llama-3-8b-v1_1-transformers --local_dir ckpts/text_encoder_i2v
jerrrrry's avatar
jerrrrry committed
81
82
```

jerrrrry's avatar
jerrrrry committed
83
执行修复脚本:
jerrrrry's avatar
jerrrrry committed
84

jerrrrry's avatar
jerrrrry committed
85
86
```bash
bash modified/fix.sh
jerrrrry's avatar
jerrrrry committed
87
88
```

jerrrrry's avatar
jerrrrry committed
89
设置环境变量,禁用 HIP 缓存 allocator 防止 OOM:
jerrrrry's avatar
jerrrrry committed
90
91

```bash
jerrrrry's avatar
jerrrrry committed
92
export PYTORCH_NO_HIP_MEMORY_CACHING=1
jerrrrry's avatar
jerrrrry committed
93
94
```

jerrrrry's avatar
jerrrrry committed
95
---
jerrrrry's avatar
jerrrrry committed
96

jerrrrry's avatar
jerrrrry committed
97
## 测试代码示例(四卡多GPU测试)
jerrrrry's avatar
jerrrrry committed
98

jerrrrry's avatar
jerrrrry committed
99
导出设备环境和禁用缓存:
jerrrrry's avatar
jerrrrry committed
100

jerrrrry's avatar
jerrrrry committed
101
102
103
104
```bash
export HIP_VISIBLE_DEVICES=4,5,6,7
export PYTORCH_NO_HIP_MEMORY_CACHING=1
```
jerrrrry's avatar
jerrrrry committed
105

jerrrrry's avatar
jerrrrry committed
106
运行文本到视频多GPU推理:
jerrrrry's avatar
jerrrrry committed
107
108

```bash
jerrrrry's avatar
jerrrrry committed
109
ALLOW_RESIZE_FOR_SP=1 torchrun --nproc_per_node=4 \
jerrrrry's avatar
jerrrrry committed
110
111
112
113
114
115
116
117
118
119
    sample_image2video.py \
    --model HYVideo-T/2 \
    --prompt "An Asian man with short hair in black tactical uniform and white clothes waves a firework stick." \
    --i2v-mode \
    --i2v-image-path ./assets/demo/i2v/imgs/0.jpg \
    --i2v-resolution 720p \
    --i2v-stability \
    --infer-steps 50 \
    --video-length 129 \
    --flow-reverse \
jerrrrry's avatar
jerrrrry committed
120
121
    --flow-shift 17.0 \
    --seed 42 \
jerrrrry's avatar
jerrrrry committed
122
123
    --embedded-cfg-scale 6.0 \
    --save-path ./results \
jerrrrry's avatar
jerrrrry committed
124
125
126
    --ulysses-degree 4 \
    --ring-degree 1 \
    --num-videos 1 2>&1 | tee z_logs/bw_image2video_4ka.log
jerrrrry's avatar
jerrrrry committed
127
128
```

jerrrrry's avatar
jerrrrry committed
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
---

## 配置选项说明

| 参数                 | 说明                           | 默认值 / 示例                             |
| -------------------- | ------------------------------ | ---------------------------------------- |
| `--model`            | 指定使用的模型名称             | `HYVideo-T/2`                            |
| `--prompt`           | 文本描述,用于生成视频         | `"An Asian man with short hair..."`     |
| `--i2v-mode`         | 启用文本到视频模式             |                                          |
| `--i2v-image-path`   | 输入图像路径                   | `./assets/demo/i2v/imgs/0.jpg`          |
| `--i2v-resolution`   | 输出视频分辨率                 | `720p`                                  |
| `--i2v-stability`    | 稳定性增强选项                 |                                          |
| `--infer-steps`      | 推理步数,影响生成质量与速度   | `50`                                    |
| `--video-length`     | 生成视频的长度(帧数)         | `129`                                   |
| `--flow-reverse`     | 是否反转光流                   |                                          |
| `--flow-shift`       | 光流偏移值                     | `17.0`                                  |
| `--seed`             | 随机种子,保证结果可复现       | `42`                                    |
| `--embedded-cfg-scale` | Condition scaling比例          | `6.0`                                   |
| `--save-path`        | 生成结果保存路径               | `./results`                             |
| `--ulysses-degree`   | 自定义参数,具体含义见代码说明 | `4`                                     |
| `--ring-degree`      | 自定义参数,具体含义见代码说明 | `1`                                     |
| `--num-videos`       | 生成视频数量                   | `1`                                     |

---

## 贡献指南
jerrrrry's avatar
jerrrrry committed
155

jerrrrry's avatar
jerrrrry committed
156
欢迎对 hunyuan-I2V 项目进行贡献!请遵循以下步骤:
jerrrrry's avatar
jerrrrry committed
157

jerrrrry's avatar
jerrrrry committed
158
159
160
161
162
1. Fork 本仓库,并新建分支进行功能开发或问题修复。
2. 提交规范的 commit 信息,描述清晰。
3. 提交 Pull Request,简述修改内容及目的。
4. 遵守项目代码规范和测试标准。
5. 参与代码评审,积极沟通改进方案。
jerrrrry's avatar
jerrrrry committed
163

jerrrrry's avatar
jerrrrry committed
164
---
jerrrrry's avatar
jerrrrry committed
165

jerrrrry's avatar
jerrrrry committed
166
## 许可证
jerrrrry's avatar
jerrrrry committed
167

jerrrrry's avatar
jerrrrry committed
168
169
170
本项目遵循 MIT 许可证,详见 [LICENSE](./LICENSE) 文件。

---
jerrrrry's avatar
jerrrrry committed
171

jerrrrry's avatar
jerrrrry committed
172
感谢您的关注与支持!如有问题,欢迎提交 Issue 或联系维护团队。