人工智能
如何训练和使用混元视频 LoRA 模型

本文将向您展示如何安装和使用基于 Windows 的软件来训练 浑源视频LoRA模型,允许用户在混元影视基础模型中生成自定义人物:
点击播放。 来自 civit.ai 社区近期大量出现的名人混元 LoRA 的示例。
目前最流行的两种本地生成混元LoRA模型的方式是:
1)的 基于 Docker 的扩散管道用户界面 (diffusion-pipe-ui) 框架,这取决于 Linux的Windows子系统 (WSL)来处理一些流程。
2) Musubi 调谐器,这是广受欢迎的 柯亚斯 扩散训练架构。Musubi Tuner 不需要 Docker,也不依赖于 WSL 或其他基于 Linux 的代理 - 但在 Windows 上运行可能很困难。
因此,本次演练将重点关注 Musubi Tuner,并致力于为浑元 LoRA 训练和生成提供完全本地的解决方案,而无需使用 API 驱动的网站或 Runpod 等商业 GPU 租赁流程。
点击播放。 本文使用 Musubi Tuner 进行 LoRA 训练的示例。所有权限均由图中人物授予,仅用于说明本文。
参赛要件
安装至少需要一台 Windows 10 PC,配备 30+/40+ 系列 NVIDIA 显卡,至少有 12GB VRAM(建议 16GB)。本文使用的安装是在一台 64GB 的机器上测试的 系统 RAM 和 NVIDIA 3090 显卡,配备 24GB VRAM。在专用测试平台系统上使用全新安装的 Windows 10 Professional 进行测试,测试分区有 600+GB 的备用磁盘空间。
警告
安装 Musubi Tuner 及其先决条件还需要将面向开发人员的软件和软件包直接安装到 PC 的主 Windows 安装上。考虑到 ComfyUI 的安装,对于最后阶段,该项目将需要大约 400-500 GB 的磁盘空间。虽然我已经在新安装的测试平台 Windows 10 环境中多次测试了该过程,没有发生任何意外,但我和 unite.ai 均不对遵循这些说明对系统造成的任何损坏负责。我建议您在尝试此类安装程序之前备份所有重要数据。
需要考虑的事项
此方法还有效吗?
生成式人工智能场景发展非常迅速,我们可以期待今年混元视频 LoRA 框架的方法更好、更简化。
…甚至是本周!在我写这篇文章的时候,Kohya/Musubi 的开发人员制作了 musubi 调谐器 GUI, Musubi Tuner 的复杂 Gradio GUI:
显然,用户友好的 GUI 比我在此功能中使用的 BAT 文件更可取——一旦 musubi-tuner-gui 开始工作。在我撰写本文时,它才上线五天,我找不到任何人成功使用它的记录。
根据存储库中的帖子,新的 GUI 计划尽快直接纳入 Musubi Tuner 项目中,这将结束其作为独立 GitHub 存储库的当前存在。
根据目前的安装说明,新的 GUI 会直接克隆到现有的 Musubi 虚拟环境中;尽管我付出了很多努力,但我还是无法让它与现有的 Musubi 安装关联。这意味着当它运行时,它会发现它没有引擎!
一旦 GUI 集成到 Musubi Tuner 中,这类问题肯定会得到解决。虽然作者 承认新项目“确实很艰难”他对其发展以及直接集成到 Musubi Tuner 中持乐观态度。
鉴于这些问题(也涉及安装时的默认路径,以及使用 UV Python 包(这会使新版本中的某些程序变得复杂),我们可能需要等待一段时间才能获得更流畅的混元视频 LoRA 训练体验。话虽如此,它看起来非常有希望!
但如果您等不及,并且愿意稍微撸起袖子,您现在就可以在本地运行浑源视频 LoRA 训练。
让我们开始吧。
为什么安装 任何 在裸机上?
(如果您不是高级用户请跳过此段)
高级用户可能会想知道为什么我选择在裸机 Windows 10 安装上安装这么多软件,而不是在虚拟环境中安装。原因是基于 Linux 的 Windows 移植必不可少 Triton 包 在虚拟环境中运行起来要困难得多。本教程中的所有其他裸机安装都无法在虚拟环境中安装,因为它们必须直接与本地硬件交互。
安装必备软件包和程序
对于必须首先安装的程序和包,安装顺序很重要。让我们开始吧。
1:下载 Microsoft Redistributable
从以下位置下载并安装 Microsoft Redistributable 软件包 https://aka.ms/vs/17/release/vc_redist.x64.exe.
这是一个简单且快速的安装。
2:安装 Visual Studio 2022
从以下位置下载 Microsoft Visual Studio 2022 社区版 https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-install-visual-studio-page-cta
启动下载的安装程序:
我们不需要所有可用的软件包,因为安装起来会很繁重且耗时。在初始 工作负载 打开的页面,勾选 使用 C++ 进行桌面开发 (请参见下图)。
现在点击 个别组成 界面左上角的选项卡,然后使用搜索框找到“Windows SDK”。
默认情况下,仅 视窗 11 SDK 已勾选。如果您使用的是 Windows 10(我尚未在 Windows 11 上测试此安装过程),请勾选最新的 Windows 10 版本,如上图所示。
搜索“C++ CMake”并检查 适用于 Windows 的 C++ CMake 工具 被检查。
此次安装将占用至少 13 GB 的空间。
安装 Visual Studio 后,它将尝试在您的计算机上运行。让它完全打开。当 Visual Studio 的全屏界面终于可见时,关闭该程序。
3:安装 Visual Studio 2019
Musubi 的一些后续软件包需要旧版本的 Microsoft Visual Studio,而其他软件包则需要较新的版本。
因此,还可以从 Microsoft (https://visualstudio.microsoft.com/vs/older-downloads/ – 需要帐户)或 Techspot(https://www.techspot.com/downloads/7241-visual-studio-2019.html).
使用与 Visual Studio 2022 相同的选项进行安装(请参阅上述步骤,不同之处在于 Windows SDK中 已在 Visual Studio 2019 安装程序中勾选)。
您将看到 Visual Studio 2019 安装程序在安装时已经意识到较新的版本:
安装完成后,打开并关闭已安装的 Visual Studio 2019 应用程序,打开 Windows 命令提示符(键入 CMD 在“开始搜索”中输入:
where cl
结果应该是两个安装的 Visual Studio 版本的已知位置。
如果你得到 INFO: Could not find files for the given pattern(s)
,见 检查路径 下面本文的部分,并使用这些说明将相关的 Visual Studio 路径添加到 Windows 环境。
根据以下要求保存所做的任何更改 检查路径 下面的部分,然后再次尝试 where cl 命令。
4:安装 CUDA 11 + 12 工具包
Musubi 中安装的各种软件包需要不同版本的 NVIDIA CUDA,可加速并优化 NVIDIA 显卡上的训练。
我们安装 Visual Studio 版本的原因 第一 是 NVIDIA CUDA 安装程序会搜索并与任何现有的 Visual Studio 安装集成。
从以下网址下载 11+ 系列 CUDA 安装包:
https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local (下载 ‘exe(本地)’ )
从以下位置下载 12+ 系列 CUDA Toolkit 安装包:
https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64
两个安装程序的安装过程相同。忽略有关 Windows 环境变量中安装路径存在或不存在的任何警告 - 我们将在稍后手动处理此问题。
安装 NVIDIA CUDA 工具包 V11+
启动 11+ 系列 CUDA Toolkit 的安装程序。
At 安装选项,选择 自定义(高级) 然后继续。
取消选中 NVIDIA GeForce Experience 选项并点击 点击下一页.
离开 选择安装位置 默认情况下(这很重要):
点击 点击下一页 并完成安装。
忽略安装程序给出的有关 Nsight Visual Studio 集成,这对于我们的用例来说是不需要的。
安装 NVIDIA CUDA 工具包 V12+
对您下载的单独的 12+ NVIDIA Toolkit 安装程序重复整个过程:
此版本的安装过程与上面列出的版本(11+版本)相同,除了一个关于环境路径的警告,您可以忽略它:
当12+ CUDA版本安装完成后,在Windows中打开命令提示符并输入:
nvcc --version
这应该确认有关已安装的驱动程序版本的信息:
要检查您的卡是否被识别,请键入并输入:
nvidia-smi
5:安装GIT
GIT 将负责在本地计算机上安装 Musubi 存储库。从以下位置下载 GIT 安装程序:
https://git-scm.com/downloads/win (‘适用于 Windows 的 64 位 Git 安装程序’)
运行安装程序:
使用默认设置 选择组件:
保留默认编辑器 Vim的:
让 GIT 决定分支名称:
使用推荐的设置 途径 环境:
使用 SSH 的推荐设置:
使用推荐的设置 HTTPS 传输后端:
使用推荐的设置进行行尾转换:
选择 Windows 默认控制台作为终端仿真器:
使用默认设置(快进或合并)用于 Git Pull:
使用 Git-Credential Manager(默认设置)作为 Credential Helper:
In 配置额外选项, 离开 启用文件系统缓存 勾选,并且 启用符号链接 未勾选(除非您是使用硬链接来集中模型存储库的高级用户)。
通过打开 CMD 窗口并输入以下内容来完成安装并测试 Git 是否正确安装:
git --version
GitHub 登录
稍后,当您尝试克隆 GitHub 存储库时,可能会要求您提供 GitHub 凭据。为了预防这种情况,请在 Windows 系统上安装的任何浏览器上登录您的 GitHub 帐户(如果需要,请创建一个)。这样,0Auth 身份验证方法(弹出窗口)应该会花费尽可能少的时间。
在完成初始挑战后,您将自动保持身份验证。
6:安装 CMake
Musubi 安装过程的部分内容需要 CMake 3.21 或更新版本。CMake 是一种跨平台开发架构,能够协调各种编译器,并从源代码编译软件。
下载地址:
https://cmake.org/download/ ('Windows x64 安装程序')
启动安装程序:
确保 将 Cmake 添加到 PATH 环境变量中 被检查。
Press 点击下一页.
在 Windows 命令提示符中键入此命令:
cmake --version
如果 CMake 安装成功,它将显示类似以下内容:
cmake version 3.31.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
7:安装Python 3.10
Python 解释器是该项目的核心。下载 3.10 版本(Musubi 软件包不同需求之间的最佳折衷方案):
https://www.python.org/downloads/release/python-3100/ ('Windows 安装程序(64 位)')
运行下载的安装程序,并保留默认设置:
安装过程结束时,单击 禁用路径长度限制 (需要 UAC 管理员确认):
在 Windows 命令提示符中键入并输入:
python --version
这将导致 Python 3.10.0
检查路径
Musubi 框架的克隆和安装以及安装后的正常运行需要其组件知道 Windows 中几个重要的外部组件(尤其是 CUDA)的路径。
因此我们需要打开路径环境并检查所有必需条件是否都在其中。
进入 Windows 环境控件的快捷方式是输入 编辑系统环境变量 进入 Windows 搜索栏。
单击此按钮将打开 系统属性 控制面板。在右下角 系统属性,点击 环境变量 按钮,以及一个名为 环境变量 打开。在 系统变量 在此窗口下半部分的面板中,向下滚动到 途径 并双击它。这将打开一个名为 编辑环境变量。将此窗口的宽度拖得更宽,以便您可以看到变量的完整路径:
这里的重要条目是:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
C:\Program Files\Git\cmd
C:\Program Files\CMake\bin
大多数情况下,正确的路径变量应该已经存在。
单击添加缺少的任何路径 全新 在左边 编辑环境变量 窗口并粘贴正确的路径:
不要仅仅从上面列出的路径复制和粘贴;请检查您自己的 Windows 安装中是否存在每个等效路径。
如果路径有细微变化(特别是 Visual Studio 安装),请使用上面列出的路径来查找正确的目标文件夹(即 x64 in 主机64 您自己的安装中。然后粘贴 那些 路径进入 编辑环境变量 窗口。
此后,重新启动计算机。
安装 Musubi
升级 PIP
使用最新版本的 PIP 安装程序可以简化一些安装阶段。在具有管理员权限的 Windows 命令提示符中(请参阅 海拔,如下所示),键入并输入:
pip install --upgrade pip
海拔
某些命令可能需要提升权限(即以管理员身份运行)。如果您在以下阶段收到有关权限的错误消息,请关闭命令提示符窗口,然后通过键入以下内容以管理员模式重新打开它 CMD 在 Windows 搜索框中,右键单击 命令提示符 并选择 以管理员身份运行“:
对于下一阶段,我们将使用 Windows Powershell 而不是 Windows 命令提示符。您可以通过输入以下代码找到它: PowerShell的 进入 Windows 搜索框,然后(根据需要)右键单击以 以管理员身份运行“:
安装 Torch
在 Powershell 中,键入并输入:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装许多软件包时请耐心等待。
完成后,您可以通过键入并输入以下内容来验证启用 GPU 的 PyTorch 安装:
python -c "import torch; print(torch.cuda.is_available())"
这应该导致:
C:\WINDOWS\system32>python -c "import torch;
print(torch.cuda.is_available())"
True
在 Windows 上安装 Triton
接下来,安装 Triton 适用于 Windows 组件。在提升的 Powershell 中,输入(一行):
pip install https://github.com/woct0rdho/triton-windows/releases/download/v3.1.0-windows.post8/triton-3.1.0-cp310-cp310-win_amd64.whl
(安装程序 triton-3.1.0-cp310-cp310-win_amd64.whl
只要架构为 64 位且环境与 Python 版本匹配,即可适用于 Intel 和 AMD CPU
运行后,结果应为:
Successfully installed triton-3.1.0
我们可以通过在 Python 中导入 Triton 来检查它是否正常工作。输入以下命令:
python -c "import triton; print('Triton is working')"
这应该输出:
Triton is working
要检查 Triton 是否启用了 GPU,请输入:
python -c "import torch; print(torch.cuda.is_available())"
这将导致 True
:
为 Musubi 创建虚拟环境
从现在起,我们将把任何进一步的软件安装到 Python虚拟环境 (或 VENV)。这意味着您要做的就是将 venv 的安装文件夹拖到垃圾箱中,以卸载以下所有软件。
让我们创建安装文件夹:创建一个名为 穆苏比 在您的桌面上。以下示例假定此文件夹存在: C:\Users\[Your Profile Name]\Desktop\Musubi\
.
在 Powershell 中,输入以下命令导航到该文件夹:
cd C:\Users\[Your Profile Name]\Desktop\Musubi
我们希望虚拟环境能够访问我们已经安装的内容(尤其是 Triton),因此我们将使用 --system-site-packages
标志。输入以下内容:
python -m venv --system-site-packages musubi
等待环境创建,然后输入以下命令激活它:
.\musubi\Scripts\activate
从此时起,您可以通过所有提示开头出现的 (musubi) 来判断您已处于激活的虚拟环境中。
克隆存储库
导航到新创建的 musubi 文件夹(位于 穆苏比 文件夹(桌面上):
cd musubi
现在我们在正确的位置,输入以下命令:
git clone https://github.com/kohya-ss/musubi-tuner.git
等待克隆完成(不会花很长时间)。
安装要求
导航到安装文件夹:
cd musubi-tuner
输入:
pip install -r requirements.txt
等待许多安装完成(这将需要更长时间)。
自动访问混元视频 Venv
为了轻松激活和访问新的 venv 以供将来的会话使用,请将以下内容粘贴到记事本中,并将其保存为 激活脚本,保存为 所有文件 选项(见下图)。
@echo off
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate
cd C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner
cmd
(更换 [Your Profile Name]
使用您的 Windows 用户配置文件的真实名称)
将此文件保存到哪个位置并不重要。
从现在起,您可以双击 激活脚本 并立即开始工作。
使用 Musubi Tuner
下载模型
浑元视频 LoRA 训练过程需要下载至少七个模型,以支持预缓存和训练浑元视频 LoRA 的所有可能的优化选项。这些模型加起来超过 60GB。
当前下载说明可在此处找到 https://github.com/kohya-ss/musubi-tuner?tab=readme-ov-file#model-download
但是,在撰写本文时,这些是下载说明:
clip_l.safetensors
和
llava_llama3_fp16.safetensors
llava_llama3_fp8_scaled.safetensors
可以在以下网址下载:
https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/tree/main/split_files/text_encoders
mp_rank_00_model_states.pt
和
mp_rank_00_model_states_fp8.pt
mp_rank_00_model_states_fp8_map.pt
可以在以下网址下载:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/transformers
pytorch_model.pt
可以在以下网址下载:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/vae
虽然你可以将它们放在你选择的任何目录中,但为了与后面的脚本保持一致,我们将它们放在:
C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\
这与之前的目录排列一致。此后的任何命令或指令都将假定模型位于此处;并且不要忘记将 [您的配置文件名称] 替换为您真实的 Windows 配置文件文件夹名称。
数据集准备
忽略社区对此的争议,公平地说,您需要 10 到 100 张照片作为浑源 LoRA 的训练数据集。即使只有 15 张图片,只要图片均衡且质量好,也可以获得非常好的结果。
浑源 LoRA 可以在图像或非常短的低分辨率视频片段上进行训练,甚至可以两者的混合 - 尽管使用视频片段作为训练数据具有挑战性,即使对于 24GB 的卡也是如此。
然而,视频剪辑只有在你的角色 移动方式如此不寻常,以至于混元视频基金会模型可能不知道, 或者能够猜到。
例子包括兔子罗杰、异形、面具、蜘蛛侠,或者其他拥有 独特的 特征运动。
由于混元视频已经知道普通男人和女人是如何行动的,因此无需视频片段即可获得令人信服的混元视频 LoRA 人型角色。所以我们将使用静态图像。
图像准备
遗愿清单
TLDR 版本:
最好要么对数据集使用大小相同的图像,要么以 50/50 的比例分割两种不同大小的图像,即 10 张 512x768px 的图像和 10 张 768x512px 的图像。
即使您不这样做,训练也可能会顺利进行——浑源视频 LoRA 的宽容度出奇地高。
更长的版本
与 Kohya-ss LoRA 一样,适用于稳定扩散等静态生成系统, 分桶 用于在不同大小的图像之间分配工作负载,从而允许使用更大的图像而不会在训练时导致内存不足错误(即,将图像“切割”成 GPU 可以处理的块,同时保持整个图像的语义完整性)。
对于训练数据集中包含的每种图像尺寸(即 512x768px),都会为该尺寸创建一个存储桶或“子任务”。因此,如果您的图像分布如下,存储桶注意力就会变得不平衡,并且存在某些照片在训练中比其他照片受到更多关注的风险:
2x 512x768px 图像
7x 768x512px 图像
1x 1000x600px 图像
3x 400x800px 图像
我们可以看到,存储桶注意力在这些图像之间分配不均:
因此,要么坚持一种格式尺寸,要么尝试保持不同尺寸的分布相对均匀。
无论哪种情况,都要避免使用非常大的图像,因为这可能会减慢训练速度,带来的好处微乎其微。
为了简单起见,我对数据集中的所有照片都使用了 512x768px。
免责声明: 数据集中使用的模型(人物)完全允许我将这些图片用于此目的,并批准了本文中所有描绘她肖像的基于 AI 的输出。
我的数据集包含 40 张 PNG 格式的图片(JPG 格式也可以)。我的图片存储在 C:\Users\Martin\Desktop\DATASETS_HUNYUAN\examplewoman
您应该创建一个 缓存 训练图像文件夹内的文件夹:
现在让我们创建一个特殊的文件来配置训练。
TOML 文件
浑源视频 LoRA 的训练和预缓存过程从平面文本文件中获取文件路径,其中 .toml 延期。
在我的测试中,TOML 位于 C:\Users\Martin\Desktop\DATASETS_HUNYUAN\training.toml
我的训练 TOML 内容如下:
[general]
resolution = [512, 768]
caption_extension = ".txt"
batch_size = 1
enable_bucket = true
bucket_no_upscale = false
[[datasets]]
image_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman"
cache_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman\\cache"
num_repeats = 1
(图像和缓存目录的双反斜杠并非总是必要的,但它们可以帮助避免路径中有空格时出现错误。我曾使用单正斜杠和单反斜杠的 .toml 文件训练模型)
我们可以看到 resolution
部分将考虑两种分辨率 - 512px 和 768px。您也可以将其保留为 512,仍可获得良好的效果。
字幕说明:
混元视频是一家 文本+视觉基础模型,因此我们需要这些图像的描述性标题,这将在训练期间被考虑。如果没有标题,训练过程将失败。
有一 多数 我们可以使用开源字幕系统来完成这项任务,但让我们保持简单,使用 塔吉 系统。虽然它存储在 GitHub 上,而且在第一次运行时会下载一些非常繁重的深度学习模型,但它以简单的 Windows 可执行文件的形式出现,可以加载 Python 库和一个简单的 GUI。
启动 Taggui 后,使用 文件 > 加载目录 导航到您的图像数据集,并可选择输入一个令牌标识符(在本例中, 榜样) 将添加到所有标题中:
(务必关闭 以 4 位加载 当 Taggui 首次打开时 - 如果保持打开状态,则在字幕期间会抛出错误)
在左侧预览栏中选择一张图片,然后按 CTRL+A 选择所有图片。然后按右侧的“开始自动字幕”按钮:
您将看到 Taggui 在右侧栏中的小型 CLI 中下载模型,但前提是这是您第一次运行字幕程序。否则,您将看到字幕的预览。
现在,每张照片都有一个相应的 .txt 标题,其中描述其图像内容:
你可以点击 高级选项 在 Taggui 中增加字幕的长度和样式,但这超出了本次讨论的范围。
退出 Taggui,让我们继续……
潜在预缓存
为了避免训练时 GPU 负载过大,需要创建两种类型的预缓存文件 - 一种用于表示从图像本身得出的潜在图像,另一种用于评估与字幕内容相关的文本编码。
为了简化所有三个过程(2x 缓存 + 训练),您可以使用交互式 .BAT 文件,这些文件会向您提问,并在您提供必要的信息后执行这些过程。
对于潜在预缓存,将以下文本复制到记事本中,并将其保存为 .BAT 文件(即,将其命名为 潜在预缓存.bat),如前所述,确保下拉菜单中的文件类型 另存为 对话是 所有文件 (见下图):
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p IMAGE_PATH=Enter the path to the image directory:
set /p CACHE_PATH=Enter the path to the cache directory:
set /p TOML_PATH=Enter the path to the TOML file:
echo You entered:
echo Image path: %IMAGE_PATH%
echo Cache path: %CACHE_PATH%
echo TOML file path: %TOML_PATH%
set /p CONFIRM=Do you want to proceed with latent pre-caching (y/n)?
if /i "%CONFIRM%"=="y" (
REM Run the latent pre-caching script
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_latents.py --dataset_config %TOML_PATH% --vae C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\pytorch_model.pt --vae_chunk_size 32 --vae_tiling
) else (
echo Operation canceled.
)
REM Keep the window open
pause
(请确保替换 [您的个人资料名称] 使用您的真实 Windows 配置文件文件夹名称)
现在您可以运行 .BAT 文件进行自动潜在缓存:
当 BAT 文件中的各种问题提示时,粘贴或输入数据集、缓存文件夹和 TOML 文件的路径。
文本预缓存
我们将创建第二个 BAT 文件,这次用于文本预缓存。
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p IMAGE_PATH=Enter the path to the image directory:
set /p CACHE_PATH=Enter the path to the cache directory:
set /p TOML_PATH=Enter the path to the TOML file:
echo You entered:
echo Image path: %IMAGE_PATH%
echo Cache path: %CACHE_PATH%
echo TOML file path: %TOML_PATH%
set /p CONFIRM=Do you want to proceed with text encoder output pre-caching (y/n)?
if /i "%CONFIRM%"=="y" (
REM Use the python executable from the virtual environment
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_text_encoder_outputs.py --dataset_config %TOML_PATH% --text_encoder1 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\llava_llama3_fp16.safetensors --text_encoder2 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\clip_l.safetensors --batch_size 16
) else (
echo Operation canceled.
)
REM Keep the window open
pause
替换您的 Windows 配置文件名称并将其另存为 文本缓存文件 (或任何其他您喜欢的名称),放在任何方便的位置,按照之前的 BAT 文件的步骤进行。
运行这个新的BAT文件,按照说明操作,必要的文本编码文件将出现在 缓存 文件夹:
训练混元视频Lora
训练实际的 LoRA 将比这两个准备过程花费更长的时间。
虽然我们可能还要担心多个变量(例如批量大小、重复、时期以及是否使用完整模型或量化模型等),但我们将把这些考虑留到另一天,并更深入地了解 LoRA 创建的复杂性。
现在,让我们稍微减少选择,并在“中位数”设置上训练 LoRA。
我们将创建第三个 BAT 文件,这次是为了启动训练。将其粘贴到记事本中,然后像之前一样将其另存为 BAT 文件,如下所示 训练脚本 (或任何你喜欢的名字):
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p DATASET_CONFIG=Enter the path to the dataset configuration file:
set /p EPOCHS=Enter the number of epochs to train:
set /p OUTPUT_NAME=Enter the output model name (e.g., example0001):
set /p LEARNING_RATE=Choose learning rate (1 for 1e-3, 2 for 5e-3, default 1e-3):
if "%LEARNING_RATE%"=="1" set LR=1e-3
if "%LEARNING_RATE%"=="2" set LR=5e-3
if "%LEARNING_RATE%"=="" set LR=1e-3
set /p SAVE_STEPS=How often (in steps) to save preview images:
set /p SAMPLE_PROMPTS=What is the location of the text-prompt file for training previews?
echo You entered:
echo Dataset configuration file: %DATASET_CONFIG%
echo Number of epochs: %EPOCHS%
echo Output name: %OUTPUT_NAME%
echo Learning rate: %LR%
echo Save preview images every %SAVE_STEPS% steps.
echo Text-prompt file: %SAMPLE_PROMPTS%
REM Prepare the command
set CMD=accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 ^
C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\hv_train_network.py ^
--dit C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\mp_rank_00_model_states.pt ^
--dataset_config %DATASET_CONFIG% ^
--sdpa ^
--mixed_precision bf16 ^
--fp8_base ^
--optimizer_type adamw8bit ^
--learning_rate %LR% ^
--gradient_checkpointing ^
--max_data_loader_n_workers 2 ^
--persistent_data_loader_workers ^
--network_module=networks.lora ^
--network_dim=32 ^
--timestep_sampling sigmoid ^
--discrete_flow_shift 1.0 ^
--max_train_epochs %EPOCHS% ^
--save_every_n_epochs=1 ^
--seed 42 ^
--output_dir "C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models" ^
--output_name %OUTPUT_NAME% ^
--vae C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/pytorch_model.pt ^
--vae_chunk_size 32 ^
--vae_spatial_tile_sample_min_size 128 ^
--text_encoder1 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/llava_llama3_fp16.safetensors ^
--text_encoder2 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/clip_l.safetensors ^
--sample_prompts %SAMPLE_PROMPTS% ^
--sample_every_n_steps %SAVE_STEPS% ^
--sample_at_first
echo The following command will be executed:
echo %CMD%
set /p CONFIRM=Do you want to proceed with training (y/n)?
if /i "%CONFIRM%"=="y" (
%CMD%
) else (
echo Operation canceled.
)
REM Keep the window open
cmd /k
与往常一样,一定要更换所有实例f [您的个人资料名称] 使用正确的 Windows 配置文件名称。
确保目录 C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\
存在,如果不存在则在该位置创建它。
培训预览
Musubi 训练器最近启用了一个非常基本的训练预览功能,它允许您强制训练模型暂停并根据您保存的提示生成图像。这些保存在名为的自动创建的文件夹中 样本,与保存训练好的模型位于同一目录中。
要启用此功能,您需要将最后一个提示保存在文本文件中。我们创建的训练 BAT 将要求您输入此文件的位置;因此您可以将提示文件命名为您喜欢的任何名称,并将其保存在任何位置。
以下是一些文件的提示示例,该文件将在训练程序请求时输出三幅不同的图像:
正如您在上面的示例中看到的,您可以在提示的末尾放置会影响图像的标志:
–w 是 宽度 (若未设置,则默认为 256px,根据 文档)
-他的 高度 (若未设置则默认为 256px)
–f 是 帧数如果设置为 1,则生成一张图片;如果设置为多个,则生成一段视频。
–d 是种子。如果不设置,它是随机的;但您应该设置它以查看一个提示的演变。
–s 是生成的步数,默认为 20。
参见 官方文件 以获取更多标志。
虽然训练预览可以快速揭示一些可能导致您取消训练并重新考虑数据或设置的问题,从而节省时间,但请记住,每一个额外的提示都会使训练速度稍微减慢。
此外,训练预览图像的宽度和高度越大(如上面列出的标志所设置),训练速度就会越慢。
启动您的训练 BAT 文件。
问题#1 是“输入数据集配置的路径。粘贴或输入 TOML 文件的正确路径。
问题#2 是“输入要训练的时期数”。这是一个反复试验的变量,因为它受图像数量和质量以及标题和其他因素的影响。一般来说,最好将其设置得太高而不是太低,因为如果您觉得模型已经足够先进,您可以随时在训练窗口中使用 Ctrl+C 停止训练。首先将其设置为 100,然后看看效果如何。
问题#3 是“输入输出模型名称”。命名您的模型!最好让名称保持合理简短。
问题#4 是“选择学习率”,默认为 1e-3(选项 1)。这是一个很好的起点,有待进一步的经验。
问题#5 是“保存预览图像的频率(步数)。如果将其设置得太低,则预览图像保存之间的进展会很小,这会减慢训练速度。
问题#6 是“训练预览的文本提示文件的位置是什么?”。粘贴或输入提示文本文件的路径。
然后,BAT 会向您显示它将发送给混元模型的命令,并询问您是否要继续,y/n。
继续并开始训练:
在此期间,如果您检查 Windows 任务管理器的“性能”选项卡的 GPU 部分,您会看到该过程占用了大约 16GB 的 VRAM。
这可能不是一个任意的数字,因为这是相当多的 NVIDIA 显卡上可用的 VRAM 数量,并且上游代码可能已经过优化,以将任务放入 16GB 中,以方便拥有此类显卡的用户。
也就是说,通过向训练命令发送更多过高的标志,可以很容易地提高这种使用率。
在训练期间,您会在 CMD 窗口的右下角看到自训练开始以来已经过的时间的数字,以及总训练时间的估计值(这将根据设置的标志、训练图像的数量、训练预览图像的数量和其他几个因素而有很大差异)。
在中等设置下,典型的训练时间约为 3-4 小时,具体取决于可用的硬件、图像数量、标志设置和其他因素。
在混元视频中使用已训练的 LoRA 模型
选择检查点
当训练结束时,您将获得每个训练阶段的模型检查点。
用户可以根据需要通过修改以下设置来更改此保存频率: --save_every_n_epochs [N]
训练 BAT 文件中的数字。如果您在使用 BAT 设置训练时为每步保存数添加了较低的数字,则保存的检查点文件数量将很高。
选择哪个检查点?
如前所述,最早训练的模型将最灵活,而较晚的检查点可能提供最详细的信息。测试这些因素的唯一方法是运行一些 LoRA 并生成一些视频。通过这种方式,您可以了解哪些检查点最有效,并代表灵活性和保真度之间的最佳平衡。
舒适用户界面
目前,使用混元视频 LoRA 的最流行(尽管不是唯一)环境是 舒适用户界面,一个基于节点的编辑器,具有精心设计的 Gradio 界面,可在您的网络浏览器中运行。

来源:https://github.com/comfyanonymous/ComfyUI
安装说明简单易懂, 可在官方 GitHub 存储库中找到 (必须下载其他模型)。
为 ComfyUI 转换模型
您训练过的模型以 (diffusers) 格式保存,这种格式与大多数 ComfyUI 实现不兼容。Musubi 能够将模型转换为与 ComfyUI 兼容的格式。让我们设置一个 BAT 文件来实现这一点。
在运行此 BAT 之前,创建 C:\Users\[Your Profile Name]\Desktop\Musubi\CONVERTED\
脚本期望的文件夹。
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
:START
REM Get user input
set /p INPUT_PATH=Enter the path to the input Musubi safetensors file (or type "exit" to quit):
REM Exit if the user types "exit"
if /i "%INPUT_PATH%"=="exit" goto END
REM Extract the file name from the input path and append 'converted' to it
for %%F in ("%INPUT_PATH%") do set FILENAME=%%~nF
set OUTPUT_PATH=C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\CONVERTED\%FILENAME%_converted.safetensors
set TARGET=other
echo You entered:
echo Input file: %INPUT_PATH%
echo Output file: %OUTPUT_PATH%
echo Target format: %TARGET%
set /p CONFIRM=Do you want to proceed with the conversion (y/n)?
if /i "%CONFIRM%"=="y" (
REM Run the conversion script with correctly quoted paths
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\convert_lora.py --input "%INPUT_PATH%" --output "%OUTPUT_PATH%" --target %TARGET%
echo Conversion complete.
) else (
echo Operation canceled.
)
REM Return to start for another file
goto START
:END
REM Keep the window open
echo Exiting the script.
pause
与之前的 BAT 文件一样,将脚本从记事本中保存为“所有文件”,并将其命名为 转换脚本 (或任何你喜欢的)。
保存后,双击新的 BAT 文件,它将询问要转换的文件的位置。
粘贴或输入要转换的训练文件的路径,点击 y
,然后按 Enter。
将转换后的 LoRA 保存到 已转换 文件夹,脚本会询问您是否要转换另一个文件。如果您想在 ComfyUI 中测试多个检查点,请转换选定的模型。
转换了足够多的检查点后,关闭 BAT 命令窗口。
您现在可以将转换后的模型复制到 ComfyUI 安装中的 models\loras 文件夹中。
通常正确的位置是这样的:
C:\Users\[Your Profile Name]\Desktop\ComfyUI\models\loras\
在 ComfyUI 中创建混元视频 LoRA
尽管 ComfyUI 的基于节点的工作流程乍一看似乎很复杂,但其他更专业的用户的设置可以通过将图像(使用其他用户的 ComfyUI 制作)直接拖到 ComfyUI 窗口中来加载。工作流程也可以导出为 JSON 文件,可以手动导入或拖到 ComfyUI 窗口中。
某些导入的工作流将具有安装中可能不存在的依赖项。因此请安装 ComfyUI 管理器,它可以自动获取缺失的模块。

来源:https://github.com/ltdrdata/ComfyUI-Manager
要加载本教程中用于从模型生成视频的工作流程之一,请下载 此 JSON 文件 并将其拖到您的 ComfyUI 窗口中(尽管在采用 Hunyuan Video 的各个 Reddit 和 Discord 社区中提供了更好的工作流程示例,而我自己的示例就是改编自其中一个)。
这里不是介绍 ComfyUI 使用方法的扩展教程的地方,但值得一提的是,如果您下载并使用我上面链接的 JSON 布局,那么一些关键参数将影响您的输出。
1)宽度和高度
图像越大,生成所需的时间越长,出现内存不足 (OOM) 错误的风险就越高。
2) 长度
这是帧数的数值。它加起来是多少秒取决于帧速率(在此布局中设置为 30fps)。你可以根据 fps 转换秒数>帧数 在 Omnicalculator.
3)批次大小
批处理大小设置得越高,结果可能越快出现,但 VRAM 的负担越大。设置得太高可能会导致 OOM。
4)生成后控制
控制随机种子。此子节点的选项包括 固定, 增量, 递减 和 随机。如果你把它留在 固定 如果不更改文本提示,则每次都会得到相同的图像。如果修改文本提示,图像会在有限的范围内发生变化。 增量 和 递减 设置允许您探索附近的种子值,同时 随机 为您提供了对提示的全新诠释。
5)Lora 名字
在尝试生成之前,您需要在这里选择您自己的安装模型。
6) 代币
如果你已经训练模型使用 token 来触发概念,(例如 ‘示例人’),将该触发词放入你的提示中。
7) 步骤
这表示系统将对扩散过程应用多少个步骤。更高的步骤可能会获得更好的细节,但这种方法的有效性有一个上限,而且这个阈值很难找到。常见的步骤范围约为 20-30。
8)瓷砖尺寸
这定义了在生成过程中一次处理多少信息。默认情况下,它设置为 256。提高它可以加快生成速度,但将其提高得太高可能会导致特别令人沮丧的 OOM 体验,因为它发生在一个漫长的过程的最后。
9)时间重叠
如果将此值设置得太低,混元视频人物生成可能会导致“重影”,即不真实的运动。一般来说,目前的做法是将此值设置为高于帧数的值,以产生更好的运动效果。
结语
虽然对 ComfyUI 用法的进一步探索超出了本文的范围,但 Reddit 和 Discords 上的社区经验可以简化学习曲线,并且有几个 在线指南 介绍基础知识。
首次发布于 23 年 2025 月 XNUMX 日星期四