码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 实验笔记之——Ubuntu20.04配置nvidia以及cuda并测试3DGS与SIBR_viewers


    之前博文测试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文件末尾加上这两行,并保存:

    1. blacklist nouveau
    2. 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模式安装

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

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

    然后选择install~

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

    1. export PATH=$PATH:/usr/local/cuda/bin
    2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    3. 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)

    1. source embree-3.6.1.x86_64.linux/embree-vars.sh
    2. cmake -Bbuild .
    3. 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博客

  • 相关阅读:
    (77)MIPI DSI LLP介绍(十七)
    14 STL-常用算法
    3. Java并发编程-wait & notify
    jQuery使用echarts循环插入图表
    河北工业大学数据挖掘实验四 贝叶斯决策分类算法
    安装Docker
    中断原理简介
    进销存ERP系统源码 基于springboot+vue开发
    web 面试高频考点 —— JavaScript 篇(一)【JS的三座大山 】 变量类型和计算、原型和原型链、作用域和闭包、异步
    C++中public、protected及private用法
  • 原文地址:https://blog.csdn.net/gwplovekimi/article/details/136348402
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号