项目地址: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 \
# 设置 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
                    项目地址:https://github.com/sicxu/Deep3DFaceRecon_pytorch实时df -h 监控,发现有比较大的变动,立马用du -h -x --max-depth=1 查一下是哪个文件比较大由于根目录容量只有50G比较小,所以把conda和docker全都移到了我自己/kolla/lyy这个目录下修改Docker的存储路径修改Docker的存储路径首先需要停止Docker服务。systemctl stop docker.service将当前Docker存
 在此,我使用渲染重建的图像。
估计内在参数
在原点回购(  ),则渲染的图像是不一样的,因为输入图像preprocess 。 因此,我添加了estimate_intrinsic以获取内部参数。
 这里有些例子:
 ├─BFM               same as Deep3DFaceReconstruction
├─dataset           storing the corpped images
│  └─Vladimir_Putin
├─examples   
				
Nvdiffrast –高性能可区分渲染的模块化基元 高性能可区分渲染的模块化基元Samuli Laine,Janne Hellsten,Tero Karras,Yongho Seol,Jaakko Lehtinen,Timo Aila Nvdiffrast是一个PyTorch / TensorFlow库,可为基于栅格化的可区分渲染提供高性能的原始操作。有关更多信息,请参考☜☜。 这项工作在。 如有业务咨询,请联系 我们目前不接受以拉取请求的形式提供的外部代码。 作为samples/data/envphong.npz一部分存储的环境图来自最初根据共享的Wave Engine 。作为samples/data/earth.npz一部分存储的网格和纹理来自模型,该模型最初是根据。 @article{Laine20
安装完manim后 在命令行执行manimgl遇到 ImportError: ('Unable to load OpenGL library', 'dlopen(OpenGL, 10): image not found', 'OpenGL', None) 3.解决方法 参考Unable to load/find OpenGL on MacOS #1372 asierralozano commented on 27 Oct 2020 论文Accurate 3D Face Reconstruction with Weakly-Supervised Learning: From Single Image to Image Set TensorFlow版本源码 PyTorch版本源码 推荐点击这里下载源码和模型,原网址不带模型的,本文已经提供好了源码和模型的下载地址,这里是PyTorch版本. 链接:https://p 安装pyoprngl python3 -m pip install PyOpenGL PyOpenGL_accelerate sudo apt-get install python-opengl 在这里插入代码片# AttributeError: 'GLXPlatform' object has no attribute 'OSMesa' pip install pyrender export MUJOCO_GL=osmesa export PYOPENGL_PLATF
解决import pyrender时出现的错误:OSError: (‘GL: cannot open shared object file: No such file or directory’, ‘GL’, None) ImportError: (‘Unable to load OpenGL library’, ‘GL: cannot open shared object file: No such file or directory’, ‘GL’, None)
ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device 由于是docker环境 所以把 /tmp目录下的文件清理一下,这个方法没用。。。。 重新链接一个tmp的时候需要注意一下目录 mkdir tmp pwd #查看当前tmp的路径 export TMPDIR=当前tmp的路径 #注意,这里有的写的是TMPDIR=$home/tmp 这需要根据你创建的tmp的目