分类:动作捕捉
github地址:https://github.com/openxrlab/xrmocap
所需环境:
Ubuntu18.04,conda22.9.0,CUDA11.4
# 1.创建环境
conda create -n XRmocap python=3.7 -y
conda activate XRmocap
# 2.install ffmpeg for video and images
conda install -y ffmpeg
# 3.install pytorch
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch -y
# 4.install pytorch3d
conda install -y -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -y -c bottler nvidiacub
conda install -y pytorch3d -c pytorch3d
# 5.install mmcv-full
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.1/index.html
# 6.install minimal_pytorch_rasterizer
pip install git+https://github.com/rmbashirov/minimal_pytorch_rasterizer.git
# 7.install xrprimer
pip install xrprimer
# 8.install mmhuman3d
pip install git+https://github.com/open-mmlab/mmhuman3d.git
# 9.安装cudnn的libcudnn与libcudnn-dev
# dpkg -L +软件包的名字,可以知道这个软件包包含了哪些文件
# 使用apt-get指令安装包:文档一般在 /usr/share;可执行文件 /usr/bin;配置文件 /etc;lib文件 /usr/lib
sudo apt-get update
sudo apt-get install -y --no-install-recommends libcudnn8=8.2.4.15-1+cuda11.4 libcudnn8-dev=8.2.4.15-1+cuda11.4
很奇怪sudo apt-get install -y --no-install-recommends libcudnn8=8.2.4.15-1+cuda11.4 libcudnn8-dev=8.2.4.15-1+cuda11.4
一直显示这个错误:
E: 未找到“libcudnn8”的“8.2.4.15-1+cuda11.4”版本
E: 未找到“libcudnn8-dev”的“8.2.4.15-1+cuda11.4”版本
这个错误的原因可能是因为CUDA与cudnn的版本问题,当前Ubuntu18.04系统内配置的CUDA11.4和cudnn8.5.0对应的libcudnn8并不是libcudnn8.2.4.15-1
。可以用以下命令查看适配的libcudnn8版本:
apt-cache policy libcudnn8
apt-cache policy libcudnn8-dev
所以只能让它自动安装libcudnn8.5.0.96-1+cuda11.7
了。(可是本机CUDA是11.4,cudnn是8.5.0,希望这个deb包向下兼容。具体影响未知。)
sudo apt-get install -y --no-install-recommends libcudnn8 libcudnn8-dev
# 如果运行上面的指令出现“您也许需要运行“apt --fix-broken install”来修正上面的错误。”时,请执行:sudo apt --fix-broken install,然后再执行上面的指令。
# 设定libcudnn8禁止自动更新
sudo apt-mark hold libcudnn8
# 清除软件包缓存信息(我觉得没必要执行)
# rm -rf /var/lib/apt/lists/*
# 查看依赖关系 确定安装完毕
dpkg -l libcudnn8
dpkg -l libcudnn8-dev
TensorRT需要预先下载,我选择的是这个tar包:TensorRT 8.6 GA for Linux x86_64 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7 and 11.8 TAR Package
(下载网址:https://developer.nvidia.com/nvidia-tensorrt-8x-download)
下载完成后,将tar包移动到Software_Anzhuang/CUDA中。
# 10.安装TensorRT
mv 下载/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz Software_Anzhuang/CUDA
cd Software_Anzhuang/CUDA
tar -xzvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
cd TensorRT-8.6.1.6/python
# XRmocap环境是python3.7,所以这里选择安装tensorrt-8.6.1-cp37-none-linux_x86_64.whl
pip install tensorrt-8.6.1-cp37-none-linux_x86_64.whl
# 11.install mmdeploy and build ops
conda install cmake -y
mkdir XRmocap && cd XRmocap
mkdir mmdeploy && cd mmdeploy
git clone https://github.com/open-mmlab/mmdeploy.git
cd mmdeploy
# git强制指定退回mmdeploy 0.12.0版本,因为作者只试过这个成功了,所以安装mmdeploy0.12.0
git reset --hard 1b048d88ca11782de1e9ebf6f9583259167a1d5b
pip install -e .
mkdir -p build && cd build
# 请注意DTENSORRT_DIR是需要更改的,更改成第10步TensorRT解压后的路径。其余不用更改
# cmake配置
cmake -DCMAKE_CXX_COMPILER=g++ -DMMDEPLOY_TARGET_BACKENDS=trt \
-DTENSORRT_DIR=/home/sqy/Software_Anzhuang/CUDA/TensorRT-8.6.1.6 \
-DCUDNN_DIR=/usr/lib/x86_64-linux-gnu ..
# 编译并安装(安装实际就是把src目录下的几个二进制文件复制到了系统的/usr/local/bin下面了而已)
make -j8 && make install
#用于清理旧的编译结果,以便重新开始编译。如果编译失败重新编译需要执行。如果编译成功则无需执行
# make clean
# 12.clone xrmocap
cd XRmocap && mkdir xrmocap && cd xrmocap
git clone https://github.com/openxrlab/xrmocap.git
cd xrmocap
# install requirements for build
pip install -r requirements/build.txt
# install requirements for runtime
pip install -r requirements/runtime.txt
# install requirements for services
pip install -r requirements/service.txt
# install xrmocap
rm -rf .eggs
pip install -e .
# packages in environment at /home/sqy/anaconda3/envs/XRmocap:
#
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 5.1 1_gnu
absl-py 1.4.0 pypi_0 pypi
addict 2.4.0 pypi_0 pypi
aniposelib 0.3.9 pypi_0 pypi
astropy 4.3.1 pypi_0 pypi
attrs 23.1.0 pypi_0 pypi
bidict 0.22.1 pypi_0 pypi
blas 1.0 mkl
brotlipy 0.7.0 py37h27cfd23_1003
bzip2 1.0.8 h7b6447c_0
c-ares 1.19.0 h5eee18b_0
ca-certificates 2023.05.30 h06a4308_0
cachelib 0.9.0 pypi_0 pypi
cdflib 0.3.20 pypi_0 pypi
certifi 2022.12.7 py37h06a4308_0
cffi 1.15.1 py37h5eee18b_3
cfgv 3.3.1 pypi_0 pypi
charset-normalizer 2.0.4 pyhd3eb1b0_0
chumpy 0.70 pypi_0 pypi
click 8.1.6 pypi_0 pypi
cmake 3.22.1 h1fce559_0
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
colorlog 6.7.0 pypi_0 pypi
colormap 1.0.4 pypi_0 pypi
cryptography 39.0.1 py37h9ce1e76_0
cudatoolkit 11.3.1 h2bc3f7f_2
cycler 0.11.0 pypi_0 pypi
cython 3.0.0 pypi_0 pypi
deprecated 1.2.14 pypi_0 pypi
dill 0.3.7 pypi_0 pypi
distlib 0.3.7 pypi_0 pypi
easydev 0.12.1 pypi_0 pypi
einops 0.6.1 pypi_0 pypi
expat 2.4.9 h6a678d5_0
ffmpeg 4.2.2 h20bf706_0
filelock 3.12.2 pypi_0 pypi
filterpy 1.4.5 pypi_0 pypi
flask 2.2.5 pypi_0 pypi
flask-api 3.1 pypi_0 pypi
flask-caching 2.0.2 pypi_0 pypi
flask-cors 4.0.0 pypi_0 pypi
flask-socketio 5.3.5 pypi_0 pypi
flatbuffers 23.5.26 pypi_0 pypi
flit-core 3.6.0 pyhd3eb1b0_0
fonttools 4.38.0 pypi_0 pypi
freetype 2.12.1 h4a9f257_0
fvcore 0.1.5.post20210915 py37 fvcore
giflib 5.2.1 h5eee18b_3
gmp 6.2.1 h295c915_3
gnutls 3.6.15 he1e5248_0
grpcio 1.57.0 pypi_0 pypi
h11 0.14.0 pypi_0 pypi
h5py 3.8.0 pypi_0 pypi
identify 2.5.24 pypi_0 pypi
idna 3.4 py37h06a4308_0
imageio 2.31.1 pypi_0 pypi
importlib-metadata 6.7.0 pypi_0 pypi
intel-openmp 2021.4.0 h06a4308_3561
iopath 0.1.9 py37 iopath
itsdangerous 2.1.2 pypi_0 pypi
jinja2 3.1.2 pypi_0 pypi
jpeg 9e h5eee18b_1
json-tricks 3.17.2 pypi_0 pypi
kiwisolver 1.4.4 pypi_0 pypi
krb5 1.20.1 h568e23c_1
lame 3.100 h7b6447c_0
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.38 h1181459_1
lerc 3.0 h295c915_0
libcurl 8.1.1 h91b91d3_2
libdeflate 1.17 h5eee18b_0
libedit 3.1.20221030 h5eee18b_0
libev 4.33 h7f8727e_1
libffi 3.4.4 h6a678d5_0
libgcc-ng 11.2.0 h1234567_1
libgomp 11.2.0 h1234567_1
libidn2 2.3.4 h5eee18b_0
libnghttp2 1.52.0 ha637b67_1
libopus 1.3.1 h7b6447c_0
libpng 1.6.39 h5eee18b_0
libssh2 1.10.0 h37d81fd_2
libstdcxx-ng 11.2.0 h1234567_1
libtasn1 4.19.0 h5eee18b_0
libtiff 4.5.0 h6a678d5_2
libunistring 0.9.10 h27cfd23_0
libuv 1.44.2 h5eee18b_0
libvpx 1.7.0 h439df22_0
libwebp 1.2.4 h11a3e52_1
libwebp-base 1.2.4 h5eee18b_1
lz4-c 1.9.4 h6a678d5_0
markupsafe 2.1.3 pypi_0 pypi
matplotlib 3.5.3 pypi_0 pypi
mediapipe 0.9.0.1 pypi_0 pypi
minimal-pytorch-rasterizer 0.5 pypi_0 pypi
mkl 2021.4.0 h06a4308_640
mkl-service 2.4.0 py37h7f8727e_0
mkl_fft 1.3.1 py37hd3c417c_0
mkl_random 1.2.2 py37h51133e4_0
mmcv-full 1.7.1 pypi_0 pypi
mmdeploy 0.12.0 dev_0 <develop>
mmdet 2.27.0 pypi_0 pypi
mmhuman3d 0.11.0 pypi_0 pypi
mmpose 0.29.0 pypi_0 pypi
multiprocess 0.70.15 pypi_0 pypi
munkres 1.1.4 pypi_0 pypi
ncurses 6.4 h6a678d5_0
nettle 3.7.3 hbbd107a_1
networkx 2.6.3 pypi_0 pypi
nodeenv 1.8.0 pypi_0 pypi
numpy 1.21.5 py37h6c91a56_3
numpy-base 1.21.5 py37ha15fc14_3
nvidiacub 1.10.0 0 bottler
onnx 1.12.0 pypi_0 pypi
opencv-contrib-python 4.8.0.76 pypi_0 pypi
opencv-python 4.8.0.76 pypi_0 pypi
openh264 2.1.1 h4ff587b_0
openssl 1.1.1v h7f8727e_0
packaging 23.1 pypi_0 pypi
pandas 1.3.5 pypi_0 pypi
pexpect 4.8.0 pypi_0 pypi
pickle5 0.0.12 pypi_0 pypi
pillow 9.4.0 py37h6a678d5_0
pip 22.3.1 py37h06a4308_0
platformdirs 3.10.0 pypi_0 pypi
plyfile 0.9 pypi_0 pypi
portalocker 1.4.0 py_0 conda-forge
pre-commit 2.21.0 pypi_0 pypi
prettytable 3.7.0 pypi_0 pypi
protobuf 3.20.1 pypi_0 pypi
ptyprocess 0.7.0 pypi_0 pypi
pycocotools 2.0.7 pypi_0 pypi
pycparser 2.21 pyhd3eb1b0_0
pyerfa 2.0.0.3 pypi_0 pypi
pygments 2.16.1 pypi_0 pypi
pyopenssl 23.0.0 py37h06a4308_0
pyparsing 3.1.1 pypi_0 pypi
pysocks 1.7.1 py37_1
python 3.7.16 h7a1cb2a_0
python-dateutil 2.8.2 pypi_0 pypi
python-engineio 4.5.1 pypi_0 pypi
python-socketio 5.8.0 pypi_0 pypi
python_abi 3.7 2_cp37m conda-forge
pytorch 1.12.1 py3.7_cuda11.3_cudnn8.3.2_0 pytorch
pytorch-mutex 1.0 cuda pytorch
pytorch3d 0.7.1 py37_cu113_pyt1121 pytorch3d
pytz 2023.3 pypi_0 pypi
pywavelets 1.3.0 pypi_0 pypi
pyyaml 6.0 py37h540881e_4 conda-forge
readline 8.2 h5eee18b_0
requests 2.28.1 py37h06a4308_0
rhash 1.4.1 h3c74f83_1
rtree 1.0.1 pypi_0 pypi
scikit-image 0.19.3 pypi_0 pypi
scipy 1.7.3 pypi_0 pypi
setuptools 65.6.3 py37h06a4308_0
simple-websocket 0.10.1 pypi_0 pypi
six 1.16.0 pyhd3eb1b0_1
smplx 0.1.28 pypi_0 pypi
sqlite 3.41.2 h5eee18b_0
tabulate 0.9.0 pyhd8ed1ab_1 conda-forge
tensorrt 8.6.1 pypi_0 pypi
termcolor 2.3.0 pyhd8ed1ab_0 conda-forge
terminaltables 3.1.10 pypi_0 pypi
tifffile 2021.11.2 pypi_0 pypi
tk 8.6.12 h1ccaba5_0
toml 0.10.2 pypi_0 pypi
tomli 2.0.1 pypi_0 pypi
torchaudio 0.12.1 py37_cu113 pytorch
torchvision 0.13.1 py37_cu113 pytorch
tqdm 4.66.1 pyhd8ed1ab_0 conda-forge
trimesh 3.23.1 pypi_0 pypi
typing-extensions 4.7.1 pypi_0 pypi
typing_extensions 4.4.0 py37h06a4308_0
urllib3 1.26.14 py37h06a4308_0
vedo 2023.4.6 pypi_0 pypi
virtualenv 20.24.3 pypi_0 pypi
vtk 9.2.6 pypi_0 pypi
wcwidth 0.2.6 pypi_0 pypi
werkzeug 2.2.3 pypi_0 pypi
wheel 0.38.4 py37h06a4308_0
wrapt 1.15.0 pypi_0 pypi
wsproto 1.2.0 pypi_0 pypi
x264 1!157.20191217 h7b6447c_0
xrmocap 0.8.0 dev_0 <develop>
xrprimer 0.7.0 pypi_0 pypi
xtcocotools 1.13 pypi_0 pypi
xz 5.4.2 h5eee18b_0
yacs 0.1.8 pyhd8ed1ab_0 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
yapf 0.40.1 pypi_0 pypi
zipp 3.15.0 pypi_0 pypi
zlib 1.2.13 h5eee18b_0
zstd 1.5.5 hc292b87_0