[HeyGem-Linux-Python-Hack] 是一个基于 Python 的数字人项目,它从 HeyGem.ai 中提取出来,它能够直接在 Linux 系统上运行,摆脱了对 Docker 和 Windows 系统的依赖。我们的目标是提供一个更易于部署和使用的数字人解决方案。
如果你觉得这个项目对你有帮助,欢迎给我们 Star!
如果运行过程中遇到问题,在查阅已有 Issue 后,在查阅 Google/baidu/ai 后,欢迎提交 Issues!
- 无需 Docker: 直接在 Linux 系统上运行,简化部署流程。
- 无需 Windows: 完全基于 Linux 开发和测试。
- Python 驱动: 使用 Python 语言开发,易于理解和扩展。
- 开发者友好: 易于使用和扩展。
- 完全离线。
本项目支持且仅支持 Linux & python3.8 环境
请确保你的 Linux 系统上已经安装了 Python 3.8。然后,使用 pip 安装项目依赖项
同时也提供一个备用的环境 requirements_0.txt,遇到问题的话,你可以参考它来建立一个新的环境。
具体的 onnxruntime-gpu / torch 等需要结合你的机器上的 cuda 版本去尝试一些组合,否则仍旧可能遇到问题。
请尽量不要询问任何关于 pip 的问题,感谢合作
# 直接安装整个 requirements.txt 不一定成功,更建议跑代码观察报错信息,然后根据报错信息结合 requirements 去尝试安装,祝你顺利。
# pip install -r requirements.txt
把项目克隆到本地
git clone https://github.com/Holasyb918/HeyGem-Linux-Python-Hack
cd HeyGem-Linux-Python-Hack
bash download.sh
- repo 中已提供可以用于 demo 的音视频样例,代码可以直接运行。
python run.py
- 如果要使用自己的数据,可以外部传入参数,请注意,path 是本地文件,且仅支持相对路径.
python run.py --audio_path example/audio.wav --video_path example/video.mp4
python app.py
# 请等待模型初始化完成后提交任务
下载新的人脸检测模型,替换原本的模型即可。
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/scrfd_10g_kps.onnx
mv face_detect_utils/resources/scrfd_500m_bnkps_shape640x640.onnx face_detect_utils/resources/scrfd_500m_bnkps_shape640x640.onnx.bak
mv scrfd_10g_kps.onnx face_detect_utils/resources/scrfd_500m_bnkps_shape640x640.onnx
有较高概率是 onnxruntime-gpu 版本不匹配导致的。
python check_env/check_onnx_cuda.py
观察输出是否包括 successfully.
如果遇到问题,你可以尝试以下方法:
-
建议根据自己 cuda 等环境尝试更换一些版本。
-
如果难以解决,可以使用 conda 安装 cudatoolkit 环境,然后再尝试 pip 安装 onnxruntime-gpu。
验证可行版本如下:
cudatoolkit onnxruntime-gpu 备注 1.18.0 1.16.0
欢迎贡献!
参考 heyGem.ai 的协议.