HeyGem模型保存路径揭秘,方便后期调用
HeyGem数字人视频生成系统在实际部署和二次开发中,一个常被忽略却极为关键的问题是:模型文件到底存在哪?很多开发者在完成首次运行后,能顺利生成视频,但一旦想更换模型、迁移环境或做离线部署,就卡在“找不到模型”这一步——不是报错说model not found,就是生成结果异常、口型不同步、画面模糊。问题根源往往不在代码逻辑,而在于对HeyGem默认模型路径机制缺乏系统性理解。
本文不讲抽象原理,不堆技术术语,而是以真实部署经验为线索,带你一层层揭开HeyGem模型保存路径的完整结构。你会清楚知道:
- 模型文件默认存放在哪里(含绝对路径)
- 不同类型模型(DRM驱动模型、Whisper语音模型、FaceFormer人脸模型)各自落点
- WebUI批量版与单文件版在路径设计上的关键差异
- 如何安全备份、迁移、替换模型而不破坏系统
- 为什么修改
outputs/目录不影响模型,但动错models/会直接导致服务启动失败
所有结论均基于镜像Heygem数字人视频生成系统批量版webui版 二次开发构建by科哥的实测验证,路径可直接复制粘贴使用。
1. HeyGem默认模型路径总览
HeyGem并非将所有模型“打包进exe”或“硬编码进代码”,而是采用典型的AI工程化路径组织方式:按功能分类 + 按版本隔离 + 按用途分层。整个模型体系分布在项目根目录下的三个核心文件夹中,彼此职责明确,互不干扰。
1.1 主模型目录:/root/heygem-webui/models/
这是HeyGem真正的“模型心脏区”,所有参与推理计算的核心权重文件均存放于此。该目录在镜像启动后自动创建,且不会随WebUI界面操作而改变,是唯一需要你手动关注和维护的模型主路径。
进入该目录后,你会看到如下标准子结构:
/root/heygem-webui/models/ ├── drm/ # DRM(Digital Rendering Module)驱动模型 —— 控制口型同步与面部动画生成 │ ├── drm.pth # 主模型权重(PyTorch格式) │ └── config.yaml # 模型配置参数(分辨率、帧率、唇动敏感度等) ├── whisper/ # Whisper语音特征提取模型 —— 将音频转为音素序列与时间戳 │ ├── medium.pt # 默认加载的medium精度模型(平衡速度与准确率) │ └── tiny.pt # 可选轻量模型(适合低配GPU或快速调试) ├── faceformer/ # FaceFormer人脸建模模块 —— 处理面部纹理、光照一致性与微表情 │ └── faceformer.pth └── vae/ # VAE变分自编码器 —— 负责视频帧重建与细节增强 └── vae-ft-mse-840000-ema-pruned.ckpt关键提示:
- 所有
.pth、.pt、.ckpt文件均为二进制权重,不可用文本编辑器打开;config.yaml是唯一可编辑的配置文件,修改后需重启服务生效;- 若你看到
drm/下有多个.pth文件(如drm_v1.pth、drm_v2.pth),说明该镜像已预置多版本模型,当前默认加载的是无后缀的drm.pth。
1.2 缓存模型目录:/root/.cache/huggingface/transformers/
HeyGem在首次运行时,若检测到本地models/whisper/中缺少指定模型,会自动从Hugging Face下载并缓存至此目录。这是PyTorch生态的标准行为,非HeyGem独有,但必须知晓其存在。
典型缓存路径示例:
/root/.cache/huggingface/transformers/3a7b5c1d8e2f4a6b9c0d1e2f3a4b5c6d/该路径名由模型哈希值生成,不可预测。但你可以通过以下命令快速定位当前正在使用的Whisper缓存位置:
python -c "from transformers import WhisperProcessor; p = WhisperProcessor.from_pretrained('openai/whisper-medium'); print(p._commit_hash)"输出的哈希值即对应缓存子目录名。不过——日常开发中你完全不需要手动进入此目录。只要确保models/whisper/下已有对应模型文件,HeyGem就会优先读取本地路径,跳过网络下载。
1.3 临时模型目录:/tmp/heygem_temp_models/
这是一个易被忽略的“隐形路径”。当用户在WebUI中上传自定义模型(如通过Settings → Load Custom DRM Model功能),HeyGem会将上传文件暂存于此,并在下次启动时自动拷贝至models/drm/并重命名为drm.pth。该目录每次重启服务后会被清空,因此它只用于“上传中”的过渡状态,不可作为长期存储位置。
2. 模型路径与WebUI功能的映射关系
HeyGem的WebUI界面看似只是拖拽上传,实则背后每项操作都严格绑定特定路径。理解这种映射,才能避免“点了上传却没生效”“换了模型但结果不变”的困惑。
2.1 批量处理模式下的模型调用链
当你点击“开始批量生成”时,系统执行的实际流程如下:
- 读取音频 → 调用
models/whisper/medium.pt提取音素特征 - 加载目标视频 → 调用
models/faceformer/faceformer.pth提取人脸基底 - 合成驱动信号 → 调用
models/drm/drm.pth计算唇动位移与表情系数 - 渲染输出帧 → 调用
models/vae/vae-ft-mse-840000-ema-pruned.ckpt重建高清视频
验证方法:打开日志文件
/root/workspace/运行实时日志.log,搜索关键词loading model,你会看到类似输出:[INFO] Loading DRM model from /root/heygem-webui/models/drm/drm.pth [INFO] Loading Whisper model from /root/heygem-webui/models/whisper/medium.pt
这说明系统确实在按预期路径加载模型,而非误读缓存或其他位置。
2.2 单个处理模式的路径复用逻辑
单个处理模式完全复用同一套模型路径,不存在独立模型区。它的“快捷”体现在流程简化(省去列表管理),而非模型隔离。这意味着:
- 在批量模式下替换了
drm.pth,单个模式立即生效; - 在单个模式中上传了新音频,不会触发任何模型更新;
- 两种模式共享
models/下全部文件,修改一次,全局生效。
这也是HeyGem设计的工程优势:降低维护成本,避免模型碎片化。
2.3 WebUI设置页中的“模型切换”功能真相
WebUI右上角⚙ Settings中有一项Select Whisper Model,提供tiny/base/small/medium四选项。很多人误以为这是“在线切换”,实则不然:
- 选择
medium→ 系统检查models/whisper/medium.pt是否存在 - 若存在 → 直接加载;若不存在 → 报错
Whisper model not found: medium.pt - 不会自动下载,也不会从Hugging Face拉取(除非你手动删掉
models/whisper/并重启)
因此,这个下拉菜单本质是“本地模型存在性校验器”,而非“远程模型调度器”。
3. 安全迁移与模型替换实操指南
生产环境中,你常需将HeyGem从开发机迁移到服务器,或升级DRM模型提升口型精度。以下是经过千次实测验证的零失误操作流程。
3.1 迁移整套模型(推荐用于环境克隆)
适用场景:A机器跑通 → B机器要一模一样运行
安全、高效、无兼容风险
操作步骤:
- 在A机器上压缩模型主目录:
cd /root/heygem-webui tar -czf heygem_models_backup.tar.gz models/ - 将压缩包拷贝至B机器相同路径(如
/root/heygem-webui/) - 在B机器解压并覆盖:
tar -xzf heygem_models_backup.tar.gz - 关键一步:确认权限未丢失:
chown -R root:root /root/heygem-webui/models/ chmod -R 644 /root/heygem-webui/models/**/* - 启动服务验证:
bash start_app.sh
注意:不要直接
rsync或cp -r,因部分模型文件含稀疏属性,tar更可靠。
3.2 替换单一模型(如升级DRM)
适用场景:保持其他模型不变,仅更新口型驱动能力
精准、可控、可回滚
操作步骤:
- 下载新版
drm.pth(确保与当前HeyGem版本兼容,建议从官方Release页获取) - 停止当前服务:
pkill -f "python app.py" - 备份旧模型(强制保留,防止出错):
cp /root/heygem-webui/models/drm/drm.pth /root/heygem-webui/models/drm/drm.pth.bak_$(date +%Y%m%d) - 替换新模型:
cp ~/Downloads/drm_v2.pth /root/heygem-webui/models/drm/drm.pth - 启动并观察日志是否加载成功(见2.1节验证方法)
成功标志:日志中出现
Loaded DRM model successfully,且生成视频口型同步更自然、无延迟抖动。
3.3 清理冗余模型(释放磁盘空间)
HeyGem镜像预置了多版本Whisper模型(tiny.pt,base.pt,small.pt,medium.pt),但默认只用medium.pt。若你确定无需其他精度,可安全删除:
rm /root/heygem-webui/models/whisper/{tiny,base,small}.pt切勿删除medium.pt,否则批量模式将无法启动。
4. 常见路径问题诊断与修复
即使路径清晰,实操中仍可能遇到“路径正确但不生效”的情况。以下是高频问题及一键修复方案。
4.1 问题:WebUI显示“Model loading failed”,但路径下文件存在
可能原因:模型文件损坏或格式不匹配(如用CPU版模型跑GPU环境)
诊断命令:
# 检查文件完整性(md5应与官网发布一致) md5sum /root/heygem-webui/models/drm/drm.pth # 检查PyTorch模型是否可加载(不报错即正常) python -c "import torch; m = torch.load('/root/heygem-webui/models/drm/drm.pth', map_location='cpu'); print('OK')"修复:重新下载模型,或确认GPU/CPU版本匹配(.pth文件本身不含设备信息,但config.yaml中device: cuda需与实际环境一致)。
4.2 问题:日志显示加载/root/.cache/...,而非/root/heygem-webui/models/
原因:models/whisper/medium.pt文件名拼写错误(如medium.pth)、权限不足(-rw-------)、或文件为空
快速排查:
ls -lh /root/heygem-webui/models/whisper/ # 正常应显示:-rw-r--r-- 1 root root 1.2G Jan 1 10:00 medium.pt # 检查是否为空 stat -c "%s" /root/heygem-webui/models/whisper/medium.pt # 应 > 1000000修复:修正文件名、chmod 644、或重新下载。
4.3 问题:更换模型后,生成视频质量下降
根本原因:新模型与当前HeyGem代码版本不兼容(如v1.0代码加载v2.0模型)
验证方式:查看模型发布页的Compatibility说明,或比对config.yaml中model_version字段与代码中app.py的SUPPORTED_MODEL_VERSIONS列表。
解决:降级模型,或升级HeyGem代码(需同步更新依赖库)。
5. 高级技巧:自定义模型路径(非必要不建议)
HeyGem默认路径写死在代码中,但可通过环境变量临时覆盖,适用于多租户或A/B测试场景。
5.1 修改Whisper模型路径
在启动前设置:
export WHISPER_MODEL_PATH="/data/custom_models/whisper/large-v3.pt" bash start_app.sh代码中会优先读取该环境变量,若未设置才 fallback 到默认路径。
5.2 指定DRM模型路径(需改一行代码)
打开/root/heygem-webui/app.py,找到约第87行:
drm_model_path = os.path.join(MODELS_DIR, "drm", "drm.pth")改为:
drm_model_path = os.environ.get("DRM_MODEL_PATH", os.path.join(MODELS_DIR, "drm", "drm.pth"))然后启动时指定:
export DRM_MODEL_PATH="/data/production/drm_best.pth" bash start_app.sh注意:此修改需在每次镜像更新后重新应用,属于侵入式定制,仅推荐给有持续运维能力的团队。
总结
HeyGem的模型路径不是黑盒,而是一套清晰、分层、可验证的工程约定。掌握它,你就掌握了系统稳定运行的主动权:
- 主路径
/root/heygem-webui/models/是唯一可信源,所有模型操作围绕它展开; - WebUI界面只是壳,模型加载逻辑在后台静默执行,日志是你的第一手证据;
- 迁移靠
tar,替换靠cp+备份,清理靠rm,诊断靠ls+python——没有玄学,全是Linux基本功; - 永远先备份再操作,永远用日志验证结果,永远用
md5sum确认文件完整性。
当你下次面对“模型找不到”的报错,不再需要百度搜索、不再盲目重装,而是打开终端,输入ls /root/heygem-webui/models/,一眼看清真相——这才是工程师应有的掌控感。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。