这篇文章的综合配置我是在恒源云上配的,自己穷买不起机子,就只能租咯,这家价格还行,而且可以装VNC,非推广,只是感觉方便,请大家结合自身实际情况
这里有几种方法,
第一种是用MobaXterm这种软件来进行直接数据拖动上传
优点: 简单方便拖动就行
缺点: 速度相对比较慢,如果在图书馆这种人多的情况是不是WIFI还断,原本传一半就没法传了
第二种是用平台本身提供的文件传输工具,这里我这个平台是提供一个命令行程序,
数据上传
# 查看命令帮助
# oss help
# 登陆恒源云账号,使用恒源云的账号名与密码,账号名为手机号
# 如果是非中国大陆手机号码,需要加上带 + 的区号
# 注意了,在这里均不用前缀加oss,因为本身就是在平台提供的命令行程序里运行
login
# 在个人数据中创建文件夹,第一次使用需要
# mkdir oss://datasets
# 展示文件夹当前情况,方便复制粘贴文件地址
ls -s -d oss://datasets/
# 将本地电脑的 "个人数据.zip" 上传至平台个人数据中的 `datasets` 文件夹下,
# 个人数据使用本机绝对地址为好
cp 个人数据.zip oss://datasets/
数据下载
在这里数据下载主要在云主机上下载,直接在命令行终端操作即可,注意力在这里每行命令前面都要加oss
# oss help
# 登陆恒源云账号,使用恒源云的账号名与密码,账号名为手机号
# 如果是非中国大陆手机号码,需要加上带 + 的区号
oss login
# 展示文件夹当前情况,方便复制粘贴文件地址
oss ls -s -d oss://datasets/
#下载个人数据到/hy-tmp/目录下
oss cp oss://datasets/个人数据.zip /hy-tmp/
#下载安装脚本
curl -OL https://download.gpushare.com/download/platform/install_desktop/install_desktop
#安装脚本赋于执行权限
chmod +x ./install_desktop
#执行安装桌面脚本,安装速度取决于实例带宽,最快需要5-10分钟,最慢可能需要30-60分钟。
./install_desktop
#安装到最后会提示输入VNC密码,该密码需要自己去定义,后面需要通过VNC登录桌面使用,文档中使用gpushare作为VNC密码。
请输入VNC连接密码,该密码需要自定义: gpushare
您的VNC密码是: gpushare
spawn vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
安装完毕,下面运行
#执行manage_vnc命令查看使用方法
~# manage_vnc
usage:
1): VNC Server 启动命令
manage_vnc start
2): VNC Server 关闭命令
manage_vnc stop
#然后执行manage_vnc start来启动VNC服务
~# manage_vnc start
VNC服务器已成功启动!
进入远程桌面后还要记得关掉定时息屏,Applicaiton->Settings->Light Locker Settings,将automacally lock the seesion
这里建议不要用源码安装,实在太慢了,直接下载发布的二进制包
wget https://github.com/Kitware/CMake/releases/download/v3.25.0-rc2/cmake-3.25.0-rc2-linux-x86_64.tar.gz
tar -zxvf cmake-3.25.0-rc2-linux-x86_64.tar.gz
#在bashrc的最后一行插入如下
#输入绝对路径,在这里我的绝对路径是/hy-tmp,不知道绝对路径可以输入指令pwd查询当前位置
source ~/.bashrc
这样就行啦。然后输入cmake -version
验证下就行
进入NVIDIA OptiX™ Downloads选择下载,可以下到本地再传过去(毕竟也就几十M),也可以复制下载链接直接wget(好叭好像是因为网问题没法wget成功,也许你们可以 /滑稽)。安装这玩意的时候看条款不停看回车,记得到8.11条目的时候一行一行按,否则过了直接给你退了
wget https://developer.nvidia.com/optix/downloads/7.6.0/linux64-x86_64
#根据下载的位置设置OptiX_INSTALL_DIR的绝对路径
echo export OptiX_INSTALL_DIR="/hy-tmp/NVIDIA-OptiX-SDK-7.6.0-linux64-x86_64">> ~/.bashrc
进入官网下载,vulcan sdk linux版本下载,在这里因为用最新版的会在我尝试运行膜拜的项目里出现一点小问题,咱也暂时没能力de出来,就用个稍微老一点的版本了。
我这里是在SDK-Tarball而不是Ubuntu Package里下载的,因为后者涉及设置公钥拉去,倒也挺简单的这种方法,就是如果安装错了想安装其他版本有点麻烦,所以我选择前者,然后下载完后进入文件夹运行下它提供的setup-env脚本即可
wget https://sdk.lunarg.com/sdk/download/1.2.182.0/linux/vulkansdk-linux-x86_64-1.2.182.0.tar.gz
tar -zxvf vulkansdk-linux-x86_64-1.2.182.0.tar.gz
cd 1.2.182.0
sh setup-env.sh
PS:MARK注意一下,这么好像vulcan安装没用,得用apt install vulkan-utils
安装ceres的目的是为了安装colmap,只是个前提条件
进入ceres官网 ceres安装 跟着官网走就行
如果仅是单纯的为了装colmap可以这样安装ceres
sudo apt-get install libatlas-base-dev libsuitesparse-dev
git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
git checkout $(git describe --tags) # Checkout the latest release
#有时候git clone不了,可以用这个
# wget http://ceres-solver.org/ceres-solver-2.1.0.tar.gz
# tar -zxvf ceres-solver-2.1.0.tar.gz
# cd ceres-solver-2.1.0
mkdir build
cd build
cmake .. -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF
make -j
sudo make install
# 依赖项目
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse (optional)
sudo apt-get install libsuitesparse-dev
## 这个是从源码开始编译,也会有点慢
wget http://ceres-solver.org/ceres-solver-2.1.0.tar.gz
tar zxf ceres-solver-2.1.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.1.0
make -j3
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
make install
虽说colmap安装可以用apt install colmap,但不建议,因为我使用这种方法在后面项目需要用到colmap的地方会发生报错。
进入官网colmap下载,在最底下,有个download colmap,复制下下载链接
先下个包,否则后面在cmake ..
时候会报个"METIS_INCLUDE_DIRS-NOTFOUND"
的错
sudo apt-get install libmetis-dev
git clone https://github.com/colmap/colmap.git
cd colmap
git checkout dev
mkdir build
cd build
cmake ..
make -j
make install
也可以按照官网步骤colmap install
运行时会出现个小问题
可以参考问题Segfault with WSL2 + GUI,
在src/render_buffer.cu
下将s_is_cuda_interop_supported
从!is_wsl()
改为false