当前位置: 代码迷 >> 综合 >> 服务器配置《Accurate 3D Face Reconstruction with Weakly-Supervised Learning》pytorch环境
  详细解决方案

服务器配置《Accurate 3D Face Reconstruction with Weakly-Supervised Learning》pytorch环境

热度:74   发布时间:2023-11-13 12:05:07.0

项目地址:https://github.com/sicxu/Deep3DFaceRecon_pytorch

实时df -h 监控,发现有比较大的变动,立马用du -h -x --max-depth=1 查一下是哪个文件比较大

请添加图片描述
由于根目录容量只有50G比较小,所以把conda和docker全都移到了我自己/kolla/lyy这个目录下

修改Docker的存储路径

  1. 修改Docker的存储路径首先需要停止Docker服务。
systemctl stop docker.service
  1. 将当前Docker存储目录复制到/kolla/lyy目录下
cp -r /var/lib/docker/ /kolla/lyy
  1. 修改docker.service配置文件,在EXECStart的后面增加 --graph=/kolla/lyy/docker(修改后的docker存储路径)。这里要注意,路径不要写错了,我第一次就写错了,然后安装的时候看到根目录又爆满了,使用du -h -x --max-depth=1一查看,发现是docker装里面去了
[root@T ~]# vim /usr/lib/systemd/system/docker.service
......
ExecStart=/usr/bin/dockerd --graph=/kolla/lyy/docker
......

(诶。。。新年第一击,登上服务器发现docker容器全不见了,以为是别人把我的容器删除了,然后docker info查看了一下现在docker位置,变成默认的了,将其路径改为/kolla/lyy/docker即可)

  1. 执行下列命令然后重启docker
systemctl daemon-reload
systemctl disable docker.service
systemctl enable docker.service
systemctl start docker.service

使用sudo docker info查看路径是否真的修改了。由于我之前写错目录了,再改也没改过来,然后我重启了几次docker就好啦。。。

修改conda环境

./Anaconda3-2021.05-Linux-x86_64.sh之后,在
请添加图片描述
之后,直接输入你要安装的路径即可
请添加图片描述
修改完毕后,我们就可以配置环境了。比较难装的是nvdiffrast这个可微渲染器。不要用本机装,c++这个不太支持,使用docker可以完美安装
先使用
git clone https://github.com/NVlabs/nvdiffrast下载这个库

cd nvdiffrast
vim Dockerfile

然后在Dockerfile文件中输入:

ARG BASE_IMAGE=pytorch/pytorch:1.7.1-cuda11.0-cudnn8-devel
FROM $BASE_IMAGE# change the downloading source
RUN sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/mirrors\.163\.com\/ubuntu\//g' /etc/apt/sources.list
RUN sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/mirrors\.aliyun\.com\/ubuntu\//g' /etc/apt/sources.listRUN apt-get update && apt-get install -y --no-install-recommends \pkg-config \libglvnd0 \libgl1 \libglx0 \libegl1 \libgles2 \libglvnd-dev \libgl1-mesa-dev \libegl1-mesa-dev \libgles2-mesa-dev \cmake \curl \libsm6 \libxext6 \libxrender-devENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1# for GLEW
ENV LD_LIBRARY_PATH /usr/lib64:$LD_LIBRARY_PATH# nvidia-container-runtime
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,graphics# Default pyopengl to EGL for good headless rendering support
ENV PYOPENGL_PLATFORM eglCOPY docker/10_nvidia.json /usr/share/glvnd/egl_vendor.d/10_nvidia.json

保存好后,我们创建根据这个Dockerfile 创建docker
这里有一个问题是,可能docker版本不太够,所以就需要重新下载一下docker
移除老版本的docker

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

安装新版本 Docker

#先将docker停下来
systemctl stop docker
# yum-utils 提供了命令 yum-config-manager,device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
yum install -y yum-utils \device-mapper-persistent-data \lvm2
# 设置 yum 源为 稳定的版本  
# 阿里的源,国内使用较快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 官方的源(国内使用比较慢) 
yum-config-manager --add-repo    https://download.docker.com/linux/centos/docker-ce.repo
# 生成缓存
yum makecache
# 安装最新稳定版本 Docker CE 
yum install docker-ce docker-ce-cli containerd.io    
#重启docker
systemctl start docker

然后使用如下命令根据Dockerfile 创建docker

docker build -f docker/Dockerfile -t name:tagname .

然后我们进入这个docker,这里由于需要gpu,所以我们还需要先安装docker的GPU,不然会报错docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

#centos安装
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
yum install -y nvidia-container-toolkit

然后使用如下命令进入docker

这里一定要修改共享内存的大小啊!!!不然后面跑程序就装不下那么多图片!!!

sudo docker run --gpus all  --shm-size 128G  -it -d -v /kolla/lyy/:/Work name:tagname /bin/bash  #这里/kolla/lyy/:/Work将我的/kolla/lyy/命名为/Work,到时候进入docker直接输/Work就是/kolla/lyy/目录下了
sudo docker ps -a #查看镜像
sudo docker attach 镜像id

然后依次输入即可

pip install imageio imageio-ffmpeg
cd nvdiffrast/
pip install .  #这里安装的一定是nvdiffrast-0.2.7 ,如果是0.2.6的话,就重新git下载这个包安装一下就好了pip install scikit-image==0.16.2
pip install scipy==1.4.1
pip install pillowpip install opencv-python==3.4.9.33
pip install kornia
pip install dominate==2.6.0
pip install trimesh==3.9.20
pip install tensorflow==1.15.0

然后按照https://github.com/sicxu/Deep3DFaceRecon_pytorch将模型下载好,放入指定的文件夹中,使用下面语句测试一下

python test.py --name=<model_name> --epoch=20 --img_folder=./datasets/examples 

但是会遇到错误ImportError: libSM.so.6: cannot open shared object file: No such file or directory 按照下面的步骤安装一下即可:

apt-get install libsm6
apt-get install libxrender1
apt-get install libxext-dev

如果报别的错,可能是你模型上传到服务器不完整,重新上传一下即可。希望能帮助到你。

NotImplementedError: Platform does not define a GLUT font retrieval function

将PyOpenGL 版本降到 version 3.1.0

pip install pyopengl==3.1.0
export PYOPENGL_PLATFORM=osmesa

此时如果运行会报错:
OSError: (‘OSMesa: cannot open shared object file: No such file or directory’, ‘OSMesa’, None)
ImportError: (‘Unable to load OpenGL library’, ‘OSMesa: cannot open shared object file: No such file or directory’, ‘OSMesa’, None)

然后安装下面即可

apt-get install -y python-opengl libosmesa6

查看该路径下有多少文件(不包括文件夹哦)

ls -l |grep "^-"|wc -l

问题:

AttributeError: AttributeError: module ‘setuptools._distutils’ has no attribute ‘version’

解决方案:

 pip3 install setuptools==59.5.0

-bash: /bin/cp: Argument list too long

find source/ -name "*.jpg" -exec cp {} target \;

根据PID查看进程信息

ps -ef | grep 43730
  相关解决方案