0. 引言
2020年,NeRF的出現(xiàn)之際引起了軒然大波,出現(xiàn)了大量相關(guān)工作。3D gaussian算是新視角生成領(lǐng)域目前的SOTA,可以進(jìn)行實(shí)時(shí)的渲染;最大訓(xùn)練速度上可以與Instant相當(dāng),且質(zhì)量差不多;增加迭代次數(shù)后,可以顯著提高重建質(zhì)量,在訓(xùn)練時(shí)間51min的情況下,重建效果可以稍微超過Mip-NeRF(48h)。這種好東西誰不想學(xué)習(xí)下呢,所以我們先進(jìn)行第一步:配置3D gaussian環(huán)境。
我當(dāng)前的環(huán)境為ubuntu 20.04+Quadro RTX 5000。這個(gè)項(xiàng)目對(duì)顯存要求比較高,官方說明需要24G的顯存,如果顯存不夠,可以看github項(xiàng)目主頁最下面的FAQ,有對(duì)低顯存方案進(jìn)行說明。除此以外Viewer的版本目前好像只支持windows、ubuntu20.04和22.04。
github主頁中有一個(gè)在windows中安裝的youtue教程,非常詳細(xì)。
目前處于學(xué)習(xí)階段,簡單用已有數(shù)據(jù)集進(jìn)行測(cè)試,驗(yàn)證環(huán)境可用后準(zhǔn)備開始閱讀源碼。因此還沒有安裝colmap來處理自己的數(shù)據(jù),之后會(huì)對(duì)colmap的配置進(jìn)行補(bǔ)充。后邊也會(huì)新開兩篇來講解論文和代碼。
1. cuda安裝步驟
1.1顯卡驅(qū)動(dòng)安裝
禁用系統(tǒng)自帶驅(qū)動(dòng)
如果不禁用這個(gè)開源驅(qū)動(dòng),后邊安裝可能會(huì)出現(xiàn)沖突,通過lsmod | grep nouveau
來查看該驅(qū)動(dòng)的情況,如果有輸出說明該驅(qū)動(dòng)正在工作,否則表示已經(jīng)禁用。
禁用方法如下:sudo gedit /etc/modprobe.d/blacklist.conf
在該文件末尾加上
blacklist nouveau
options nouveau modeset=0
在終端輸入sudo update -initramfs -u
nvidia顯卡驅(qū)動(dòng)安裝
顯卡是硬件,想要顯卡可以正常工作必須找到對(duì)應(yīng)的驅(qū)動(dòng),否則會(huì)出現(xiàn)各種各樣顯示上的問題,比如顯示器不亮,分辨率不正常ubuntu-drivers devices
可以查詢推薦安裝的驅(qū)動(dòng)版本
以我的輸出為例
driver : nvidia-driver-495 - third-party non-free
driver : nvidia-driver-535 - third-party non-free recommended
driver : nvidia-driver-510 - third-party non-free
driver : nvidia-driver-465 - third-party non-free
可以看到535為當(dāng)前顯卡的適配驅(qū)動(dòng)版本
然后打開Software&Updates進(jìn)行對(duì)應(yīng)版本的安裝
重啟電腦后,如果顯示都正常,那就應(yīng)該大功告成了。但我曾遇到過一個(gè)問題,就是已經(jīng)用了推薦版本的顯卡驅(qū)動(dòng),但無法點(diǎn)亮副屏,然后降了版本才解決的。總而言之顯示出了問題,很大可能是顯卡驅(qū)動(dòng)的問題,多換幾個(gè)版本試試。
在終端輸入nvidia-smi
,如果沒報(bào)錯(cuò)就ok了,在輸出的信息中可以看到當(dāng)前驅(qū)動(dòng)的版本和支持的最高版本CUDA,后邊安裝CUDA的時(shí)候要注意版本不能超過這個(gè)。
1.2 CUDA安裝
https://developer.nvidia.com/cuda-toolkit-archive
從這個(gè)鏈接中選擇合適的CUDA版本,以我的為例
選擇之后可以看到下邊的安裝指令,逐條執(zhí)行即可。但我安裝的時(shí)候出現(xiàn)了一個(gè)問題,有可能系統(tǒng)會(huì)自動(dòng)幫你升級(jí)到最新的驅(qū)動(dòng),有的庫需要特殊的CUDA版本,所以我們可以更改最后一行命令,來安裝指定版本的CUDA,sudo apt-get -y install cuda-xxx
1.3 配置環(huán)境變量
終端輸入nvcc -V
來檢查CUDA是否安裝成功,如果出現(xiàn)了命令找不到的問題,先別急,我們還需要配置一下CUDA的環(huán)境變量
終端執(zhí)行sudo gedit ~/.bashrc
,在文件的最后加上(路徑按自己的來)
export CUDA_HOME=/usr/local/cuda-11.8
if [[ ":$PATH:" != *":/usr/local/cuda-11.8/bin:"* ]]; then
export PATH=$PATH:/usr/local/cuda-11.8/bin
fi
if [[ ":$LD_LIBRARY_PATH:" != *":/usr/local/cuda-11.8/lib64:"* ]]; then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
fi
再輸入source ~/.bashrc
來使得更改生效,這次在執(zhí)行nvcc -V
,有如下輸出,代表安裝成功。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
2. 3D gaussian安裝
這個(gè)項(xiàng)目的安裝沒啥難度,問題基本都處在CUDA上邊
這部分是對(duì)官網(wǎng)加成的梳理https://github.com/graphdeco-inria/gaussian-splatting
-
git clone git@github.com:graphdeco-inria/gaussian-splatting.git --recursive
最后的–recursive比較重要,不加的話有的東西裝不上。 - 進(jìn)入clone下來的項(xiàng)目目錄,在已經(jīng)安裝anaconda的情況下,執(zhí)行如下命令
conda env create --file environment.yml
conda activate gaussian_splatting
安裝兩個(gè)子模塊的時(shí)候,可能會(huì)報(bào)一些錯(cuò)誤,這些錯(cuò)誤藏在很長的文本中,并且有時(shí)候沒有顏色標(biāo)示,所以需要仔細(xì)地找出錯(cuò)誤點(diǎn),比如本地缺少一些庫,CUDA環(huán)境變量沒設(shè)置對(duì)一類的。
需要非常注意?。。?!3dgs對(duì)CUDA版本有特殊的要求,安裝到本地的完整版CUDA版本是11.8,而安裝到conda環(huán)境中供pytorch使用的閹割版本是11.6(這個(gè)版本不包含nvcc,一些復(fù)雜功能也沒有),官方的解釋如下:
Hi,
there’s two different things. One is the full CUDA SDK, including the compiler (NVCC). We need it to build the PyTorch extensions that we wrote ourselves and that the optimizer uses. The other is the CUDA runtime that PyTorch is built against (the latest CUDA runtime that PyTorch 1.12 works with is 11.6). If you install PyTorch with CUDA with Conda, it installs a small subset of the full CUDA SDK that cannot do compilation. If you install the full 11.6 SDK and try to compile our extensions with it, it can fail because of a known issue with C++14 support in the 11.6 CUDA compilers.
訓(xùn)練代碼python train.py -s <path to COLMAP or NeRF Synthetic dataset>
3. Viewer安裝
按官方的說法,目前在windows\ ubuntu20.04和22.04上是可用的,其他版本不清楚。文章來源:http://www.zghlxwxcb.cn/news/detail-753499.html
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
# Project setup
cd SIBR_viewers
git checkout fossa_compatibility #如果是22.04就不需要加這行命令
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
cmake --build build -j24 --target install
用從官網(wǎng)下載的訓(xùn)練好的模型進(jìn)行測(cè)試./<SIBR install dir>/bin/SIBR_gaussianViewer_app -m <path to trained model>
文章來源地址http://www.zghlxwxcb.cn/news/detail-753499.html
到了這里,關(guān)于Ubuntu20.04+Quadro RTX 5000,3D gaussian環(huán)境配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!