实验笔记之——Ubuntu20.04配置nvidia以及cuda并测试3DGS与SIBR_viewers

news2024/11/17 21:38:35

之前博文测试3DGS的时候一直用服务器进行开发,没有用过笔记本,本博文记录下用笔记本ubuntu20.04配置过程~

学习笔记之——3D Gaussian Splatting源码解读_3dgs运行代码-CSDN博客文章浏览阅读3.2k次,点赞34次,收藏62次。高斯模型的初始化,初始化过程中加载或定义了各种相关的属性使用的球谐阶数、最大球谐阶数、各种张量(_xyz等)、优化器和其他参数。self.active_sh_degree = 0 #球谐阶数self.max_sh_degree = sh_degree #最大球谐阶数# 存储不同信息的张量(tensor)self._xyz = torch.empty(0) #空间位置self._scaling = torch.empty(0) #椭球的形状尺度。_3dgs运行代码https://blog.csdn.net/gwplovekimi/article/details/135500438?spm=1001.2014.3001.5501实验笔记之——基于COLMAP的Instant-NGP与3D Gaussian Splatting的对比_colmap导出相机坐标到instant-ngp-CSDN博客文章浏览阅读1.6k次,点赞25次,收藏24次。之前博客进行了COLMAP在服务器下的测试实验笔记之——Linux实现COLMAP-CSDN博客学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。_colmap导出相机坐标到instant-ngphttps://blog.csdn.net/gwplovekimi/article/details/135406537?spm=1001.2014.3001.5501实验笔记之——Gaussian Splatting_gaussian splatting viwer快捷键-CSDN博客文章浏览阅读1.6k次,点赞36次,收藏20次。之前博客对NeRF-SLAM进行了调研学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。_gaussian splatting viwer快捷键https://blog.csdn.net/gwplovekimi/article/details/135349210?spm=1001.2014.3001.5501

目录

一、配置nvidia

关闭系统自带的nouveau

安装NVIDIA驱动

二、安装CUDA

多个cmake版本共存

测试3DGS

编译SIBR_viewers

结果可视化

参考资料


一、配置nvidia

关闭系统自带的nouveau

nouveau是Ubuntu自带的显卡驱动,要安装nvidia之前需要把它禁掉。通过下面命令来查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。

lsmod | grep nouveau

有输出,表示nouveau启动了,下面进行nouveau的禁用。在终端输入下面命令弹出blacklist.conf文件:

sudo gedit /etc/modprobe.d/blacklist.conf

在blacklist.conf文件末尾加上这两行,并保存:

blacklist nouveau
options nouveau modeset=0

然后重启,再次查看nouveau

安装NVIDIA驱动

ubuntu20.04 安装NVIDIA驱动很容易,只需要打开系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。安装个高一点的,525吧,可以向下兼容

NVIDIA(英伟达)显卡驱动安装完成后,在终端输入nvidia-smi输出如下图所示的结果就表示安装成功了。下图中,安装的驱动支持的CUDA最高版本为12.0(注意这里需要重新启动电脑)。

然后输入nvidia-smi

查看GPU信息

二、安装CUDA

进入cuda的网站:CUDA Toolkit Archive | NVIDIA Developer

如下图所视,采用runfile模式安装

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run


sudo sh cuda_11.7.0_515.43.04_linux.run

!注意:需要取消驱动的选项,已经安装过了~

然后选择install~

CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入sudo gedit ~/.bashrc打开如下图所示的.bashrc文件。
然后,如下图所示在.bashrc文件的最后添加以下CUDA环境变量配置信息(我从不同的文章中看到这里添加的信息不仅相同,目前还不太清楚具体含义,所以这里仅仅罗列出它们):

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

成功了!

多个cmake版本共存

当前的cmake版本如下。

升级为3.22

下载地址:Index of /files

找到对应的Linux版本,一般叫cmake-x.xx.x-linux-x86_64.tar.gz x.xx.x这个是版本。下载后之后解压,如下图

建立软连接

sudo ln -sf ~/cmake-3.22.0-Linux-x86_64/bin* /usr/bin/ 

然后在/.bashrc文件中加入

export PATH=~/cmake-3.22.0-linux-x86_64/bin:$PATH

再次查看cmake的版本

升级Cmake的版本可以避免编译3DGS的时候存在的各种问题,比如找不到“CUDAToolkit”等等,目前测试3.22是可以的,更低的版本(3.17及以下)都不行

测试3DGS

编译SIBR_viewers

遇到libgtk-3问题或者No package 'gtk+-3.0' found参考:(ubuntu20.04安装libgtk-3遇到的问题_libgtk-3-0:amd64-CSDN博客)

安装sudo apt install xorg-dev解决cannot find -lXxf86vm

如果出现embree相关的报错需要额外手动连接到embree3.6.1(GitHub - embree/embree at v3.6.1)

source embree-3.6.1.x86_64.linux/embree-vars.sh

cmake -Bbuild .
cmake --build build --target install --config RelWithDebInfo

结果可视化

3DGS cpp-version GPU3060, 277.084 seconds, 6000 Iterations, 数据:train, psnr 21.30

参考资料

ubuntu 多版本cmake共存的终极方法_ubuntu多版本制作软件-CSDN博客

Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文)_ubuntu cudnn安装-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能指针(C++)

目录 一、智能指针是什么 二、为什么需要智能指针 三、智能指针的使用和原理 3.1、RALL 3.2 智能指针的原理 3.3、智能指针的分类 3.3.1、auto_ptr 3.3.2、unique_ptr 3.3.3、shared_ptr 3.2.4、weak_ptr 一、智能指针是什么 在c中,动态内存的管理式通过一…

从 iOS 设备恢复数据的 20 个iOS 数据恢复工具

作为 iPhone、iPad 或 iPod 用户,您可能普遍担心自己可能会丢失存储在珍贵 iOS 设备中的所有宝贵数据。数据丢失的原因多种多样,这里列出了一些常见原因: 1. iOS 软件更新 2. 恢复出厂设置 3. 越狱 4. 误操作删除数据 5. iOS 设备崩溃 …

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准,这些表示不进行微调,即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变,以探索计算机视…

Linux学习-C语言-运算符

目录 算术运算符: - * /:不能除0 %:不能对浮点数操作 :自增与运算符 i:先用再加 i:先加再用 --:自减运算符 常量,表达式不可以,--,变量可以 赋值运算符 三目运算符 逗号表达式 size…

Linux系统加固:如何有效管理系统账号

Linux系统加固:如何有效管理系统账号 1.1 口令重复次数限制1.2 避免系统存在uid相同的账号1.3 空密码的帐户1.4 口令复杂度1.5 口令生存期1.6 登录失败次数锁定策略 💖The Begin💖点点关注,收藏不迷路💖 在Linux系统中…

Mac OS 制作可引导安装器并重新安装系统

Mac 使用 U盘或移动固态硬盘制作可引导的安装器(以 Monterey 为例) 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分,称为分区。分区也称为容器,不同…

全面介绍HTML的语法!轻松写出网页

文章目录 heading(标题)paragraph(段落)link(超链接)imagemap(映射)table(表格)list(列表)layout(分块)form(表单)更多输入:datalistautocompleteautofocusmultiplenovalidatepatternplaceholderrequired head(首部)titlebaselinkstylemetascriptnoscript iframe HTML&#xff…

Linux 模拟实现shell【简单实现】

shell的模拟实现 我们知道shell是一个永不退出的程序,所以他应该是一个死循环,并且shell为了防止影响到自己,我们在命令行上输入的所有命令都是由shell的子进程来执行的,所以它应该要有创建子进程的相关函数,当然也会…

react 原理揭秘

1.目标 A. 能够知道setState()更新数据是异步的 B. 能够知道JSX语法的转化过程 C. 能够说出React组件的更新机制 D. 能够对组件进行性能优化 E. 能够说出虚拟DOM和Diff算法 2.目录 A. setState()的说明 B. JSX语法的转化过程 C. 组件更新机制 D. 组件性能优化 E. 虚拟DOM和D…

高效备考2025年AMC8数学竞赛:2000-2024年AMC8真题练一练

如何提高小学和初中数学成绩?小学和初中可以参加的数学竞赛有哪些?不妨了解一下AMC8美国数学竞赛,现在许多小学生和初中生都在参加这个比赛。如果孩子有兴趣,有余力的话可以系统研究AMC8的历年真题,即使不参加AMC8竞赛…

live555学习 - 环境准备

环境:Ubuntu 16.04.7 ffmpeg-6.1 1 代码下载 最新版本: http://www.live555.com/liveMedia/public/ 历史版本下载 https://download.videolan.org/pub/contrib/live555/ 选择版本live.2023.01.19.tar.gz ps:没有选择新版本是新版本在…

SuMa++代码阅读记录

文章目录 流程梳理1. 打开点云文件2. 播放点云数据3. SUMA部分的流程图说明3.1 SUMA核心流程分析,其中也包含部分SUMA3.2 preprocess部分3.3 updatePose部分3.4 updateMap部分 4. SUMA中有关语义模型rangenet的部分4.1 下面是解析模型引擎4.2 下面这块是从配置文件中…

洛谷P1044题解

复制Markdown 展开 题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈&#xff09…

stm32触发硬件错误位置定位

1.背景 1. 项目中,调试过程或者测试中都会出现程序跑飞问题,这个时候问题特别难查找。 2. 触发硬件错误往往是因为内存错误。这种问题特别难查找,尤其是产品到了测试阶段,而这个异常复现又比较难的情况下,简直头疼。…

CDH6.3.1离线安装

一、从官方文档整体认识CDH 官方文档地址如下: CDH Overview | 6.3.x | Cloudera Documentation CDH是Apache Hadoop和相关项目中最完整、测试最全面、最受欢迎的发行版。CDH提供Hadoop的核心元素、可扩展存储和分布式计算,以及基于Web的用户界面和重…

虚拟游戏理财【华为OD机试-JAVAPythonC++JS】

题目描述 题目描述: 在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。现有一家Bank,它提供有若干理财产品m,风险及投资回报不同,你有N(元)进行投资,能…

Python:练习:编写一个程序,录入一个美元数量(int),然后显示出增加%5税率后的相应金额。

案例: 编写一个程序,录入一个美元数量(int),然后显示出增加%5税率后的相应金额。格式如下所示: Enter an amount:100 With tax added:$105.0 思考: 1、录入一个美元数量,录入&am…

qt学习:实战 记事本 + 快捷键 + 鼠标滚轮 + 打开读取写入关闭文件

目录 功能 步骤 配置ui界面 添加图片资源 添加头文件和定义成员数据和成员函数 在构造函数里初始化 增加当前字体大小函数 减小当前字体大小函数 在用户按下 Ctrl 键的同时滚动鼠标滚轮时,执行放大或缩小操作 多选框变化后发出信号绑定槽函数来改变编码 …

flutter学习(一) 安装以及配置环境

首先需要下载flutter,然后解压 然后配置环境变量,配置到bin目录就行 配置完之后cmd运行flutter doctor 你就会发现,都是错 此时脑海里响起,卧槽,怎么回事,咋办 别着急,我教你。。。 问题 这…

【QQ案例-QQ框架-主流框架 Objective-C语言】

一、接下来,我们来做一下这个QQ, 1.接下来,我们来做一下这个QQ, QQ框架啊, 这个东西呢,我们管它叫做“主流框架”, 首先呢,要告诉大家一点,这个东西呢,我们管它,叫做“主流框架”, 算是一个简称啊, 只能说,这种框架的类型,上边儿带navigation,下边儿带tabb…