本篇记录在自己服务器上安装Colmap过程。
系统:Ubuntu 20.04
显卡:Nvidia Geforce RTX 3080Ti
参考链接:Ubuntu20.04安装Colmap ,Ubuntu20.04安装colmap-知乎简明过程
首先检查是否有这两个东西 nvcc -V
和 ls | grep cudnn
说明只有CUDA没有CUDNN
参考链接:判断CUDA和CUDNN是否安装成功并正常使用
参考链接:Ubuntu 20.04安装CUDA & CUDNN
先查看一下CUDA的安装路径 /usr/local/cuda-11.3/
,因为之后安装CUDNN就是要把头文件拷贝到 include
和 lib64
中
去Nvidia官网下载对应版本的CUDNN:
下载好后 sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb
安装即可
使用 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
或者 ls | grep cudnn
验证安装是否成功
或者可以使用python输出版本信息:
import torch
from torch.backends import cudnn
print(torch.backends.cudnn.version())
Nvidia官网安装指南
# 下载对应tar包
# 解压缩
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
# copy
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-11.3/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn*.h /usr/local/cuda-11.3/lib64/libcudnn*
cat /usr/local/cuda-11.3/include/cudnn.h | grep CUDNN_MAJOR -A 2
【知乎链里给的依赖…】
sudo apt-get install \
git \
cmake \
build-essential \
libboost-program-options-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-regex-dev \
libboost-system-dev \
libboost-test-dev \
libeigen3-dev \
libsuitesparse-dev \
libfreeimage-dev \
libgoogle-glog-dev \
libgflags-dev \
libglew-dev \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev \
libcgal-qt5-dev
官方教程里的依赖: 【按这个来吧… 不然cmake会有报错的】
sudo apt-get install \
git \
cmake \
build-essential \
libboost-program-options-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-system-dev \
libboost-test-dev \
libeigen3-dev \
libsuitesparse-dev \
libfreeimage-dev \
libmetis-dev \
libgoogle-glog-dev \
libgflags-dev \
libglew-dev \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev
这一步所需依赖都包含在上面了
下载源码:Ceres Solver,官方安装教程
git clone https://github.com/ceres-solver/ceres-solver.git
进入到该文件夹,进行编译
mkdir build
cd build
cmake .. # 预编译
make -j20 # 编译 可用 nproc 查看cpu核心数,我的cpu核心数是 20 -j40 / -j16?->(CPU Core 8)
sudo make install # 安装 如果不想安到计算机里也可以不执行这个命令
参考链接:Ubuntu安装Ceres Solver
关于以下问题,暂时没有考虑:
注意,直接编译出来的是静态库.a 如果需要编译动态分享库需要修改CMakeLists.txt中option(BUILD_SHARED_LIBS “Build Ceres as a shared library.” ON)
至于为什么要进行这一步,可能涉及到使用 anaconda的Qt问题… 具体的也不是很了解,可以看看 这个问题
cd ~
ls
mv anaconda3 axx
ls
下载源码: Colmap主页 ,官方教程
git clone https://github.com/colmap/colmap.git
cd colmap
mkdir build
cd build
cmake ..
make -j
sudo make install
验证是否安装成功:
colmap -h
colmap gui
cmake ..
的时候出现报错… Oh…
噗… 于是我们 重新进入到官方教程中查看它要求的依赖进行安装… 应该是少了什么依赖没装…
cmake ..
完成
make -j
完成
sudo make install
完成
Colmap
安装完成
cd ~
ls
mv axx anaconda3
ls