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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践