欢迎使用 Ruyi-Models!
Ruyi 是一款图生视频模型,能够生成 768 分辨率、每秒 24 帧总计 5 秒 120 帧的影视级视频,支持镜头控制与运动幅度控制,使用 RTX 3090 或 RTX 4090 可无精度损失地生成 512 分辨率、120 帧(768分辨率、~72帧)的视频。
克隆本仓库并安装所需的依赖。
git clone https://github.com/IamCreateAI/Ruyi-Models
cd Ruyi-Models
pip install -r requirements.txt
下载并安装 ComfyUI-Manager。
cd ComfyUI/custom_nodes/
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
# install requirements
pip install -r ComfyUI-Manager/requirements.txt
启动 ComfyUI 并打开 Manager。选择 Custom Nodes Manager,然后搜索 “Ruyi”。选择搜索结果中的 ComfyUI-Ruyi(如下方截图所示),点击 “Install” 按钮安装。
最后,搜索 “ComfyUI-VideoHelperSuite” 并安装。
- 下载并保存本仓库到 ComfyUI/custom_nodes/Ruyi-Models 路径。
# download the repo
cd ComfyUI/custom_nodes/
git clone https://github.com/IamCreateAI/Ruyi-Models.git
# install requirements
pip install -r Ruyi-Models/requirements.txt
- 安装依赖项 ComfyUI-VideoHelperSuite 以显示视频输出(如已安装,请跳过本步骤)。
# download ComfyUI-VideoHelperSuite
cd ComfyUI/custom_nodes/
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
# install requirements
pip install -r ComfyUI-VideoHelperSuite/requirements.txt
在使用Windows操作系统时,ComfyUI_windows_portable_nvidia 是一种常见的发行版。当通过 run_nvidia_gpu.bat
启动时,会使用其中嵌入的 Python 解释器。因此,需要在这个内置的 Python 环境中安装运行环境。
例如,如果提取后的发行版目录是 ComfyUI_windows_portable,通常可使用以下命令下载仓库并安装运行时环境:
# download the repo
cd ComfyUI_windows_portable\ComfyUI\custom_nodes
git clone https://github.com/IamCreateAI/Ruyi-Models.git
# install requirements using embedded Python interpreter
..\..\python_embeded\python.exe -m pip install -r Ruyi-Models\requirements.txt
下载模型并将其保存到指定路径。为了直接运行 Ruyi 模型,建议将模型保存到 Ruyi-Models/models 文件夹中。对于 ComfyUI 用户,路径应为 ComfyUI/models/Ruyi。
名称 | 类型 | 分辨率 | 最大帧数 | 每秒帧数 | 存储空间 | 下载地址 |
---|---|---|---|---|---|---|
Ruyi-Mini-7B | 图生视频 | 512 & 768 | 120 | 24 | 17 GB | 🤗 |
例如,下载 Ruyi-Mini-7B 后,文件的路径结构应该为:
📦 Ruyi-Models/models/ or ComfyUI/models/Ruyi/
├── 📂 Ruyi-Mini-7B/
│ ├── 📂 transformers/
│ ├── 📂 vae/
│ └── 📂 ...
本仓库支持自动下载模型功能,但手动下载提供了更多的可控性。例如,可以下载模型到其他位置,再通过软链接等方式链接到 ComfyUI/models/Ruyi 路径。
我们提供两种运行模型的方法。第一种是直接使用Python代码。
python3 predict_i2v.py
具体来说,该脚本将模型下载到 Ruyi-Models/models 文件夹,并使用 assets 文件夹中的图像作为视频推理的起始帧和结束帧。您可以修改脚本中的变量来替换输入图像,并设置视频长度和分辨率等参数。
对于显存超过 24GB 的用户,可以使用 predict_i2v_80g.py 来提高生成速度。对于显存较少的用户,提供了优化显存使用的参数,这些参数可以通过延长推理时间来生成更高分辨率和更长时长的视频。这些参数的影响可以在下面的显存优化选项小节找到。
或者,您可以使用我们 GitHub 仓库中的 ComfyUI 封装,ComfyUI 节点的详细信息在 comfyui/README_CN.md 中描述。
i2v_01.mp4 |
i2v_02.mp4 |
i2v_03.mp4 |
i2v_04.mp4 |
input | camera_left.mp4 |
camera_right.mp4 |
camera_static.mp4 |
camera_up.mp4 |
camera_down.mp4 |
motion_1.mp4 |
motion_2.mp4 |
motion_3.mp4 |
motion_4.mp4 |
提供了 GPU_memory_mode
和 GPU_offload_steps
选项以降低显存占用,满足不同用户的需求。
通常来说,使用更少的显存,需要更多的内存和更长的生成时间。以下列出预期显存使用和生成时间的参考表格。请注意,下面报告的显存是 max_memory_allocated()
的返回值,而 nvidia-smi 的显存数值通常会高于报告的数值。因为 CUDA 会占用一些显存(通常在500 - 800 MiB之间),而 PyTorch 的缓存机制也会请求额外的显存。
- Resolution of 512
帧数 | normal_mode + 0 steps | normal_mode + 10 steps | normal_mode + 7 steps | normal_mode + 5 steps | normal_mode + 1 steps | low_gpu_mode + 0 steps |
---|---|---|---|---|---|---|
24 frames | 16119MiB 01:01s |
15535MiB 01:07s |
15340MiB 01:13s |
15210MiB 01:20s |
14950MiB 01:32s |
4216MiB 05:14s |
48 frames | 18398MiB 01:53s |
17230MiB 02:15s |
16840MiB 02:29s |
16580MiB 02:32s |
16060MiB 02:54s |
4590MiB 09:59s |
72 frames | 20678MiB 03:00s |
18925MiB 03:31s |
18340MiB 03:53s |
17951MiB 03:57s |
17171MiB 04:25s |
6870MiB 14:42s |
96 frames | 22958MiB 04:11s |
20620MiB 04:54s |
19841MiB 05:10s |
19321MiB 05:14s |
18281MiB 05:47s |
9150MiB 19:17s |
120 frames | 25238MiB 05:42s |
22315MiB 06:34s |
21341MiB 06:59s |
20691MiB 07:07s |
19392MiB 07:41s |
11430MiB 24:08s |
- Resolution of 768
帧数 | normal_mode + 0 steps | normal_mode + 10 steps | normal_mode + 7 steps | normal_mode + 5 steps | normal_mode + 1 steps | low_gpu_mode + 0 steps |
---|---|---|---|---|---|---|
24 frames | 18971MiB 02:06s |
17655MiB 02:40s |
17217MiB 02:39s |
16925MiB 02:41s |
16339MiB 03:13s |
5162MiB 13:42s |
48 frames | 24101MiB 04:52s |
21469MiB 05:44s |
20592MiB 05:51s |
20008MiB 06:00s |
18837MiB 06:49s |
10292MiB 20:58s |
72 frames | 29230MiB 08:24s |
25283MiB 09:45s |
25283MiB 09:45s |
23091MiB 10:10s |
21335MiB 11:10s |
15421MiB 39:12s |
96 frames | 34360MiB 12:49s |
29097MiB 14:41s |
27343MiB 15:33s |
26174MiB 15:44s |
23834MiB 16:33s |
20550MiB 43:47s |
120 frames | 39489MiB 18:21s |
32911MiB 20:39s |
30719MiB 21:34s |
29257MiB 21:48s |
26332MiB 23:02s |
25679MiB 63:01s |
表格中以 ---
显示的值表示触发了显存溢出(OOM),无法生成视频。
- Resolution of 512
帧数 | normal_mode + 0 steps | normal_mode + 10 steps | normal_mode + 7 steps | normal_mode + 5 steps | normal_mode + 1 steps | low_gpu_mode + 0 steps |
---|---|---|---|---|---|---|
24 frames | 16366MiB 01:18s |
15805MiB 01:26s |
15607MiB 01:37s |
15475MiB 01:36s |
15211MiB 01:39s |
4211MiB 03:57s |
48 frames | 18720MiB 02:21s |
17532MiB 02:49s |
17136MiB 02:55s |
16872MiB 02:58s |
16344MiB 03:01s |
4666MiB 05:01s |
72 frames | 21036MiB 03:41s |
19254MiB 04:25s |
18660MiB 04:34s |
18264MiB 04:36s |
17472MiB 04:51s |
6981MiB 06:36s |
96 frames | -----MiB --:--s |
20972MiB 06:18s |
20180MiB 06:24s |
19652MiB 06:36s |
18596MiB 06:56s |
9298MiB 10:03s |
120 frames | -----MiB --:--s |
-----MiB --:--s |
21704MiB 08:50s |
21044MiB 08:53s |
19724MiB 09:08s |
11613MiB 13:57s |
- Resolution of 768
帧数 | normal_mode + 0 steps | normal_mode + 10 steps | normal_mode + 7 steps | normal_mode + 5 steps | normal_mode + 1 steps | low_gpu_mode + 0 steps |
---|---|---|---|---|---|---|
24 frames | 19223MiB 02:38s |
17900MiB 03:06s |
17448MiB 03:18s |
17153MiB 03:23s |
16624MiB 03:34s |
5251MiB 05:54s |
48 frames | -----MiB --:--s |
-----MiB --:--s |
20946MiB 07:28s |
20352MiB 07:35s |
19164MiB 08:04s |
10457MiB 10:55s |
72 frames | -----MiB --:--s |
-----MiB --:--s |
-----MiB --:--s |
-----MiB --:--s |
-----MiB --:--s |
15671MiB 18:52s |
我们将以宽松的 Apache 2.0 许可证发布该模型。
@misc{createai2024ruyi,
title={Ruyi-Mini-7B},
author={CreateAI Team},
year={2024},
publisher = {GitHub},
journal = {GitHub repository},
howpublished={\url{https://github.com/IamCreateAI/Ruyi-Models}}
}
我们真诚欢迎大家积极提供宝贵的反馈和建议,希望能够共同努力优化我们的服务和产品。您的意见将帮助我们更好地理解用户需求,从而不断提升用户体验。感谢您对我们工作的支持和关注!欢迎加入我们的Discord 或者微信群(扫描下方二维码)!