今天尝试部署由waityousea大佬开源的照片说话数字人项目,
开源地址在这里:https://github.com/waityousea/xuniren
感兴趣的跟姐姐一起来部署试试吧。
我的环境是windows 11, cuda 12.1,
1、下载包:
git clone https://github.com/waityousea/xuniren.git
cd xuniren
2、下载安装MinGW
在windows中,需要安装gcc编译器,这里我安装MinGW,
MinGW下载地址是:https://sourceforge.net/projects/mingw/
双击安装包,无脑安装。
完装完成之后,打开软件,在界面左上角 Basic Setup
里找到 mingw32-gcc-g++这几个选项
,右键点击它们,选择“Mark for Installation”。
【敲重点】:
选择完这些包后,点击左上角的 Installation 菜单,然后选择 Apply Changes。 在弹出的窗口中,点击 Apply 按钮,等待安装完成(过程持续好几分钟,有点久)。
【验证安装是否成功】:
新打开一个cmd,输入 gcc --version
,如果显示GCC的版本信息,则表明安装成功。
3、安装pytorch环境
conda create -n pytorch3d python=3.9
conda activate pytorch3d
conda install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
【特别强调】其中,第三行代码的cuda版本,根据自己的来,在https://pytorch.org/官网查询自己的代码,我安装的是12.1。
4、配置环境
安装好pytorch之后,打开之前git clone的xuniren文件夹,
进入虚拟环境:conda activate pytorch3d
执行以下命令:
pip install -r requirements.txt
继续安装剩下的库,这一步容易报错,冲突,我用的是 mamba
来替代 conda
进行包管理,因为 mamba
更擅长处理复杂的依赖关系:
conda install mamba -n base -c conda-forge
mamba install -c fvcore -c iopath -c conda-forge fvcore iopath
当然,你也可以用官方说明里的来安装:
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
5、修改一些文件
(1),打开raymarching文件夹下的setup.py,修改第22行的路径如下所示:
主要是把visual studio 的版本号填上去,之前都是*号,如果这里不改,后面启动时会报错,提示找不到C++。这里的路径是我电脑的路径,你得根据自己的实际路径来改,
paths = sorted(glob.glob(r"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.38.33130\\bin\\Hostx64\\x64" % edition), reverse=True)
(2)打开freqencoder、shencoder、gridencoder这3个文件夹下的setup.py,同上方法,修改路径。
(3)用visual studio 2022启动raymarching文件夹下的setup.py,
再点击“工具”菜单,选择“命令行”,然后选择“Developer Command Prompt”。
或直接开始菜单搜索 x64 Native Tools Command Prompt for VS 2022
中运行以下命令,
(如果找不到
x64 Native Tools Command Prompt for VS 2022
,就在桌面新建一个空快捷方式,值填:C:\Windows\System32\cmd.exe /k ""C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"",就可以打开了。
激活环境:conda activate pytorch3d
再输入以下命令:
cd /d F:\AI\xuniren\raymarching
set DISTUTILS_USE_SDK=1
python setup.py install
看到这样的提示,就编译好第一个了,如下图:
别急,还有3个,
编译freqencoder、shencoder、gridencoder这3个文件夹下的setup.py,还是同样的方法:
cd ..
cd freqencoder
set DISTUTILS_USE_SDK=1
python setup.py install
cd ..
cd shencoder
set DISTUTILS_USE_SDK=1
python setup.py install
cd ..
cd gridencoder
set DISTUTILS_USE_SDK=1
python setup.py install
看到cmd窗口最后一行是类似:Finished processing dependencies for freqencoder==0.0.0这样,就部署完成了。
输入 cd ..
返回上级目录,也就是shuziren目录下,
至此,恭喜你,部署全部结束。
6、启动数字人:
保持环境激活状态,执行:
conda activate pytorch3d
python fay_connect.py
就搞定啦。
就可以和fay结合起来用了,关于fay的部署,请见我另一篇笔记:
Fay数字人框架部署笔记-CSDN博客
【敲重点】
记得在data文件夹下手动建立一个audio文件夹,否则连接fay之后会遇到报错:Fay Error: [Errno 2] No such file or directory: './data/audio/aud_1717064960.wav'