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

项目地址: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.list

RUN 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-dev


ENV 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 egl

COPY 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 pillow

pip 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
Accurate 3D Face Reconstruction from a Single Image: A Holistic Approach》这篇论文的主要内容是介绍了一种基于单个图像的准确三维人脸重建方法,其采用了一种全面的方法来捕捉人脸的几何形状和纹理信息。 论文的作者 Aaron S. Jackson, Adrian Bulat, Vasileios Argyriou, Georgios Tzimiropoulos 提出了一个由两个主要组件组成的框架:3DMM(3D Morphable Model)回归器和姿态估计器。 首先,他们使用3DMM回归器来估计人脸的形状参数和纹理参数。这个回归器通过将人脸图像映射到3DMM参数空间,利用深度卷积神经网络(CNN)来预测人脸的三维形状和纹理参数。 然后,他们提出了一种姿态估计器来估计人脸的姿态参数。这个姿态估计器使用CNN来预测人脸的旋转和平移参数,以校正人脸的姿态。 最后,通过将形状参数、纹理参数和姿态参数结合起来,他们可以生成准确的三维人脸重建结果。 该方法在多个数据集上进行了实验评估,结果表明,与其他基准方法相比,该方法能够产生更准确和逼真的三维人脸重建结果。此外,该方法还具有一定的鲁棒性,对于具有不同姿态和光照条件的人脸图像也能取得良好的效果。 总的来说,《Accurate 3D Face Reconstruction from a Single Image: A Holistic Approach》这篇论文提出了一种综合性的方法,通过结合形状参数、纹理参数和姿态参数,实现了准确的三维人脸重建。这个方法在单个图像上能够生成高质量的三维人脸模型,对于人脸分析、虚拟现实等应用具有重要意义。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月的天气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值