写在前面:
最近在找从2D图像中重建3D Avatar的模型,找到NeurIPS2023的开源模型GTA。由于模型较新且模型名称与游戏GTA重名,寻找相关教程困难,借此机会写一个安装环境的记录文档。安装环境其实就是不断试错的过程,要善于利用大模型,利用好搜索引擎。要有耐心,有信心。
阅读ReadMe文档,开始安装:
进入GTA的GitHub页面,阅读Installation
在Installation部分,很经典的写法,依照常理来说沿着Installation的指示一步一步安装即可
问题一:conda env create -f environment.yaml指令执行到solving environent后卡住
解决方法:拆解environment.yaml文件
阅读这个文件,可以看出上面是名称,channel是需要的源,dependencies是需要安装的包
按照相关的信息可以拆解为:
1.创建虚拟环境conda create -n gta python=3.8
2.将源添加到conda config 中,指令格式为conda config --add channels channel_name
具体来言conda config --add channels conda -forge等逐个添加即可
3.安装pytorch
pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116
4. 继续逐个conda install fvcore,conda install iopath
在全部安装成功后,可以进行下一步,pip install -r requirements.txt
问题二:在requirements.txt文件中git+https://github.com/facebookresearch/pytorch3d.git@v0.7.2
直接执行pip install -r requirements.txt文件可能会出现报网络连接的相关错误
解决方法:以git+https://github.com/facebookresearch/pytorch3d.git@v0.7.2为例
首先打开https://github.com/facebookresearch/pytorch3d.git网页,找到v0.7.2将其git clone下来
进入clone下来的文件夹,执行pip install . 指令即可(具体为什么要可以查阅相关博客)
从常理上来讲到这里一切顺利的情况下已经完成环境配置了。看一下在这里具体会出现一些什么奇怪的问题:
问题三:按照上述方式安装pytorch3d会出错
解决方式:找pytorch3d的ReadMe文件,换conda install pytorch3d指令
问题四:用conda install pytorch3d会出现他会自动安装cpu版的torch,在后续import torch的时候用的是cpu版的torch无法调用gpu
解决方法:查找相关资料,找到解决方式亲测超简单pytorch3D安装教程!!!(已解决)-CSDN博客
问题五:在执行infer.py文件时,发现kaolin包出现问题,问题是版本不匹配(gpt指出问题原因)
解决方案:继续查找相关资料Ubuntu 16.04安装kaolin踩坑记录_pip install kaolin-CSDN博客
用指令 pip install kaolin==0.14.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.0.0_cu118.html
最终经过试验:选用python版本为3.9,安装torch版本为2.0.0 cuda11.8
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
到这里环境已经安装完成了,由于我们的目标是使用这个模型,继续阅读Installation,下面需要下载相关的数据到对应的文件夹中。
模型推理时的问题:
下面的部分是我在解决模型推理时遇到问题的记录,通用性较小,仅供参考。
按照要求下载好数据之后执行推理命令,由于实验数据集并没有在代码文件中,路径的处理要根据报错信息来调整:
这是load一系列npy文件路径的问题,在/remote-home/yfsong/shipu/GTA/lib/dataset/mesh_util.py
922行附近修改self.current_dir的地址
在修改完这个路径后,还要修改HPS数据的路径,在/remote-home/yfsong/shipu/GTA/lib/pixielib/utils/config.py 15行附近修改cfg.pixie_dir的地址
/remote-home/yfsong/shipu/GTA/lib/pixielib/models/SMPLX.py文件中698行现在修改了一下地址,这个地址似乎不用修改,应该是在修改HPS路径的时候已经修改好了。
下面还会遇到有的方法名没有,在/remote-home/yfsong/shipu/GTA/lib/dataset/mesh_util.py
第882行左右修改。
以上问题的解决方式都是看TraceBack,一步步寻找问题所在。