Ubuntu20.04+Quadro RTX 5000,3D gaussian环境配置

2024-01-25 20:20

本文主要是介绍Ubuntu20.04+Quadro RTX 5000,3D gaussian环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 0. 引言
  • 1. cuda安装步骤
    • 1.1显卡驱动安装
      • 禁用系统自带驱动
      • nvidia显卡驱动安装
    • 1.2 CUDA安装
    • 1.3 配置环境变量
  • 2. 3D gaussian安装
  • 3. Viewer安装

0. 引言

2020年,NeRF的出现之际引起了轩然大波,出现了大量相关工作。3D gaussian算是新视角生成领域目前的SOTA,可以进行实时的渲染;最大训练速度上可以与Instant相当,且质量差不多;增加迭代次数后,可以显著提高重建质量,在训练时间51min的情况下,重建效果可以稍微超过Mip-NeRF(48h)。这种好东西谁不想学习下呢,所以我们先进行第一步:配置3D gaussian环境。

我当前的环境为ubuntu 20.04+Quadro RTX 5000。这个项目对显存要求比较高,官方说明需要24G的显存,如果显存不够,可以看github项目主页最下面的FAQ,有对低显存方案进行说明。除此以外Viewer的版本目前好像只支持windows、ubuntu20.04和22.04。

github主页中有一个在windows中安装的youtue教程,非常详细。

目前处于学习阶段,简单用已有数据集进行测试,验证环境可用后准备开始阅读源码。因此还没有安装colmap来处理自己的数据,之后会对colmap的配置进行补充。后边也会新开两篇来讲解论文和代码。

1. cuda安装步骤

1.1显卡驱动安装

禁用系统自带驱动

如果不禁用这个开源驱动,后边安装可能会出现冲突,通过lsmod | grep nouveau来查看该驱动的情况,如果有输出说明该驱动正在工作,否则表示已经禁用。

禁用方法如下:
sudo gedit /etc/modprobe.d/blacklist.conf
在该文件末尾加上

blacklist nouveau
options nouveau modeset=0

在终端输入sudo update -initramfs -u

nvidia显卡驱动安装

显卡是硬件,想要显卡可以正常工作必须找到对应的驱动,否则会出现各种各样显示上的问题,比如显示器不亮,分辨率不正常
ubuntu-drivers devices可以查询推荐安装的驱动版本
以我的输出为例

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为当前显卡的适配驱动版本
然后打开Software&Updates进行对应版本的安装
在这里插入图片描述

重启电脑后,如果显示都正常,那就应该大功告成了。但我曾遇到过一个问题,就是已经用了推荐版本的显卡驱动,但无法点亮副屏,然后降了版本才解决的。总而言之显示出了问题,很大可能是显卡驱动的问题,多换几个版本试试。

在终端输入nvidia-smi,如果没报错就ok了,在输出的信息中可以看到当前驱动的版本和支持的最高版本CUDA,后边安装CUDA的时候要注意版本不能超过这个。

1.2 CUDA安装

https://developer.nvidia.com/cuda-toolkit-archive
从这个链接中选择合适的CUDA版本,以我的为例
在这里插入图片描述

选择之后可以看到下边的安装指令,逐条执行即可。但我安装的时候出现了一个问题,有可能系统会自动帮你升级到最新的驱动,有的库需要特殊的CUDA版本,所以我们可以更改最后一行命令,来安装指定版本的CUDA,sudo apt-get -y install cuda-xxx

1.3 配置环境变量

终端输入nvcc -V来检查CUDA是否安装成功,如果出现了命令找不到的问题,先别急,我们还需要配置一下CUDA的环境变量
终端执行sudo gedit ~/.bashrc,在文件的最后加上(路径按自己的来)

export CUDA_HOME=/usr/local/cuda-11.8
if [[ ":$PATH:" != *":/usr/local/cuda-11.8/bin:"* ]]; thenexport PATH=$PATH:/usr/local/cuda-11.8/bin
fi
if [[ ":$LD_LIBRARY_PATH:" != *":/usr/local/cuda-11.8/lib64:"* ]]; thenexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
fi

再输入source ~/.bashrc来使得更改生效,这次在执行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安装

这个项目的安装没啥难度,问题基本都处在CUDA上边
这部分是对官网加成的梳理https://github.com/graphdeco-inria/gaussian-splatting

  • git clone git@github.com:graphdeco-inria/gaussian-splatting.git --recursive
    最后的–recursive比较重要,不加的话有的东西装不上。
  • 进入clone下来的项目目录,在已经安装anaconda的情况下,执行如下命令
conda env create --file environment.yml
conda activate gaussian_splatting

安装两个子模块的时候,可能会报一些错误,这些错误藏在很长的文本中,并且有时候没有颜色标示,所以需要仔细地找出错误点,比如本地缺少一些库,CUDA环境变量没设置对一类的。

需要非常注意!!!!3dgs对CUDA版本有特殊的要求,安装到本地的完整版CUDA版本是11.8,而安装到conda环境中供pytorch使用的阉割版本是11.6(这个版本不包含nvcc,一些复杂功能也没有),官方的解释如下:

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.

训练代码python train.py -s <path to COLMAP or NeRF Synthetic dataset>

3. Viewer安装

按官方的说法,目前在windows\ ubuntu20.04和22.04上是可用的,其他版本不清楚。

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

用从官网下载的训练好的模型进行测试
./<SIBR install dir>/bin/SIBR_gaussianViewer_app -m <path to trained model>
在这里插入图片描述

这篇关于Ubuntu20.04+Quadro RTX 5000,3D gaussian环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/644492

相关文章

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件