Ubuntu22.04配置3D gaussian splatting

news2024/12/19 17:34:23

这篇博客提供了3D gaussian splatting在新安装Ubuntu上的配置过程。

1.拉仓库

2.安装显卡驱动和cuda版本

3.安装Pytorch

4.安装Pycharm和配置Python

5.安装附加依赖项(方法一)

6.安装Anaconda(方法二)

7.测试


1.拉仓库

# HTTPS
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive

2.安装显卡驱动和cuda版本

打开终端,输入命令:

nvidia-smi

上图的CUDA  Version:12.4指的是最高支持cuda12.4的版本,并不是已经安装了cuda12.4的版本,输入以下指令查看cuda版本:

nvcc -V

上图表示cuda未安装,此时需要去Nvidia官网CUDA Toolkit 12.6 Update 3 Downloads | NVIDIA Developer安装CUDA Toolkit,注意不要超过上述规定的CUDA版本

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4

 配置环境变量

为确保正确配置 CUDA 环境变量,编辑 ~/.bashrc 文件:

nano ~/.bashrc

在文件末尾添加以下内容:

export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64/stubs:${LD_LIBRARY_PATH}

然后,执行以下命令使配置生效:

source ~/.bashrc

可以通过以下命令验证 CUDA 是否安装成功:

nvcc --version

3.安装Pytorch

安装cuda版本的pytorch版本。本人显卡3090,cuda版本12.4

pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu124

4.安装Pycharm和配置Python

Step 1: 安装pycharm

sudo snap install pycharm-professional --classic

 进去选择中文版。

确保你已经安装了 Python。运行以下命令检查:

python3 --version

如果未安装 Python,使用以下命令安装:

sudo apt update
sudo apt install python3 python3-pip

Step 2: 打开 PyCharm
  1. 启动 PyCharm。
  2. 创建或打开一个项目。
Step 3: 配置 Python 解释器
  1. 点击菜单 File > Settings(或 PyCharm > Preferences)。

  2. 导航到 Project > Python Interpreter

  3. 点击右侧的齿轮图标,选择 Add Interpreter

  4. 选择 System InterpreterVirtual Environment

    • System Interpreter:
      • 在下拉菜单中选择你的 Python 路径(通常是 /usr/bin/python3 或类似路径)。
    • Virtual Environment:
      • 选择 New Virtualenv Environment
      • 确保 Python 二进制文件指向正确的 Python 版本。
  5. 点击 OK,等待 PyCharm 配置环境。

5.安装附加依赖项(方法一)

# Dependencies
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

pip install plyfile

pip install opencv-contrib-python

pip install tqdm

# Project setup
cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
cmake --build build -j24 --target install

安装子模块

先cd到~/code/gaussian-splatting,然后输入命令:

pip install submodules/diff-gaussian-rasterization

pip install submodules/simple-knn
pip install submodules/fused-ssim

6.安装Anaconda(方法二)

步骤 1:下载 Anaconda 安装脚本

访问 Anaconda 下载页面 下载适用于 Linux 的安装脚本,或者直接使用 wget 命令:

wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh

步骤 2:运行安装脚本

运行下载的安装脚本:

bash Anaconda3-2023.03-Linux-x86_64.sh

步骤 3:安装过程中接受许可协议

与 Miniconda 类似,Anaconda 安装过程会提示你接受许可协议。输入 yes 来继续。

步骤 4:选择安装路径

可以选择默认路径(通常是 ~/anaconda3),或者指定一个其他目录。

步骤 5:初始化 Conda

选择 yes 来初始化 Conda。

步骤 6:刷新 shell 配置

与 Miniconda 一样,安装完成后,你需要刷新 shell 配置:

source ~/.bashrc

步骤 6:验证 Conda 是否成功安装:

conda --version

步骤 7:创建环境并安装依赖项

conda env create --file environment.yml conda activate gaussian_splatting

conda activate gaussian_splatting

7.测试

下载DTU数据集https://drive.google.com/drive/folders/1SJFgt8qhQomHX55Q4xSvYE2C6-8tFll9,并进行解压。

设置形参如下,运行即可。

运行结果的终端显示:

参考:

基于RTX3090的Ubuntu22.04安装cuda11.7和cudnn8.6_ubuntu虚拟环境安装cuda11.7-CSDN博客

炼丹学习笔记2---ubuntu2004运行3D Gaussian Splatting(3DGS)分享_ubuntu gaussian splatting torch-CSDN博客

感谢!!!

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

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

相关文章

Apache Kylin最简单的解析、了解

官网:Overview | Apache Kylin 一、Apache Kylin是什么? 由中国团队研发具有浓厚的中国韵味,使用神兽麒麟(kylin)为名 的一个OLAP多维数据分析引擎:(据官方给出的数据) 亚秒级响应&#xff…

【现代服务端架构】传统服务器 对比 Serverless

在现代开发中,选择合适的架构是至关重要的。两种非常常见的架构模式分别是 传统服务器架构 和 Serverless。它们各有优缺点,适合不同的应用场景。今天,我就带大家一起对比这两种架构,看看它们的差异,并且帮助你选择最适…

CVE-2024-32709 WordPress —— Recall 插件存在 SQL 注入漏洞

漏洞描述 WordPress 是一款免费开源的内容管理系统,适用于各类网站,包括个人博客、电子商务系统、企业网站。其插件 WP-Recall 的 account 存在 SQL 注入漏洞,攻击者可以通过该漏洞获取数据库敏感信息。 WP-Recall 版本 <= 16.26.5 漏洞复现 搭建环境、安装插件、完成…

vue+net使用stripe支付开发流程

文章目录 前言用到的语言和技术整体流程stripe平台vue前端Net后端遇到的问题思考总结 前言 公司最近做到了国外支付功能&#xff0c;最后选型使用stripe进行支付&#xff0c;实现目标&#xff1a;使用stripe支付可以让国外用户自己选择支付方式并订阅支付。 用到的语言和技术…

什么?Flutter 可能会被 SwiftUI/ArkUI 化?全新的 Flutter Roadmap

在刚刚过去的 FlutterInProduction 活动里&#xff0c;Flutter 官方除了介绍「历史进程」和「用户案例」之外&#xff0c;也着重提及了未来相关的 roadmap &#xff0c;其中就有 3.27 里的 Swift Package Manager 、 Widget 实时预览 和 Dart 与 native 平台原生语言直接互操作…

随机森林算法原理

随机森林算法原理 算法流程随机森林的生成随机森林的预测 算法总结随机森林的优点随机森林的缺点 算法流程 随机森林的生成 输入训练数据 D&#xff0c;样本个数为 m &#xff0c;待学习的决策树数量为 T。 对于 t 1,2,…,T&#xff0c;从 D 中有放回地采样 m 次&#xff0c…

游戏AI实现-寻路算法(Dijkstra)

戴克斯特拉算法&#xff08;英语&#xff1a;Dijkstras algorithm&#xff09;&#xff0c;又称迪杰斯特拉算法、Dijkstra算法&#xff0c;是由荷兰计算机科学家艾兹赫尔戴克斯特拉在1956年发现的算法。 算法过程&#xff1a; 1.首先设置开始节点的成本值为0&#xff0c;并将…

基于MNE的EEGNet 神经网络的脑电信号分类实战(附完整源码)

利用MNE中的EEG数据&#xff0c;进行EEGNet神经网络的脑电信号分类实现&#xff1a; 代码&#xff1a; 代码主要包括一下几个步骤&#xff1a; 1&#xff09;从MNE中加载脑电信号&#xff0c;并进行相应的预处理操作&#xff0c;得到训练集、验证集以及测试集&#xff0c;每个…

Element@2.15.14-tree checkStrictly 状态实现父项联动子项,实现节点自定义编辑、新增、删除功能

背景&#xff1a;现在有一个新需求&#xff0c;需要借助树结构来实现词库的分类管理&#xff0c;树的节点是不同的分类&#xff0c;不同的分类可以有自己的词库&#xff0c;所以父子节点是互不影响的&#xff1b;同样为了选择的方便性&#xff0c;提出了新需求&#xff0c;选择…

SAP-ABAP开发学习-面向对象开发ooalv(2)

SAP-ABAP开发学习-面向对象OOALV&#xff08;1&#xff09;-CSDN博客 本文目录 一、类的继承 多态性类继承的实现 二、抽象类 三、最终类 四、接口 五、定义全局对象 一、类的继承 继承的本质是代码重用。当我们要构造一个新类时&#xff0c;无需从零开始&#xff0c;可…

典型案例 | 旧PC新蜕变!东北师范大学依托麒麟信安云“旧物焕新生”

东北师范大学始建于1946年&#xff0c;坐落于吉林省长春市&#xff0c;是中国共产党在东北地区创建的第一所综合性大学。作为国家“双一流”建设高校&#xff0c;学校高度重视教学改革和科技创新&#xff0c;校园信息化建设工作始终走在前列。基于麒麟信安云&#xff0c;东北师…

Linux脚本语言学习--上

1.shell概述 1.1 shell是什么&#xff1f; Shell是一个命令行解释器&#xff0c;他为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序&#xff0c;用户可以使用Shell来启动&#xff0c;挂起&#xff0c;停止甚至是编写一些程序。 Shell还是一个功能相当强大…

2024年底-Sre面试问题总结-持续更新

这几个缩写 贴一下是因为真的会有人问:( SRE “Site Reliability Engineer” 站点可靠性工程师 SLA “Service Level Agreement” 服务可用性协议 CICD “Continuos Integration Continous Deployment” 持续集成 持续部署 3个高频问题 K8s生产环境中处理过哪些复杂 or 印象…

【硬件接口】I2C总线接口

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时&#xff0c;也能帮助其他需要参考的朋友。如有谬误&#xff0c;欢迎大家进行指正。 一、概述 I2C总线是一种非常常用的总线&#xff0c;其多用于一个主机&#xff08;或多个&#xff09;与单个或多个从设备通讯…

OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用

目录 一&#xff0c;分发器和拦截器 二&#xff0c;分发器处理异步请求 1.分发器处理入口 2.分发器工作流程 3.分发器中的线程池设计 三&#xff0c;分发器处理同步请求 四&#xff0c;拦截器处理请求 1.责任链设计模式 2.拦截器工作原理 3.OkHttp五大拦截器 一&#…

SAP:如何修改已释放的请求

SAP:如何修改已释放的请求 QQ出了一个新功能&#xff0c;把10年前的旧日志推给自己。这个10年前的日志&#xff0c;是用户反映在SE10中把请求释放后发现漏了内容&#xff0c;想修改已释放的请求。经调查写了一个小程序&#xff0c;实现用户的需求。 *&-------------------…

python怎么循环嵌套

嵌套循环&#xff1a; 概念&#xff1a;循环中再定义循环&#xff0c;称为嵌套循环&#xff1b; 【注意】嵌套循环可能有多层&#xff0c;但是一般我们实际开发最多两层就可以搞定了(99%的情况) 格式&#xff1a; 1、while中套while常用 2、while中套for in 3、for in中套…

前端优雅(装逼)写法(updating····)

1.>>右位移运算符取整数 它将一个数字的二进制位向右移动指定的位数&#xff0c;并在左侧填充符号位&#xff08;即负数用1填充&#xff0c;正数用0填充&#xff09;。 比如 2.99934 >> 0&#xff1a;取整结果是2&#xff0c;此处取整并非四舍五入 2.99934 会先…

MySQL -- 库的相关操作

目录 查看数据库 创建数据库 直接创建&#xff1a; 加约束条件 if not exists 字符集和校对规则 什么是字符集 什么是校对规则 校对规则的主要功能 校对规则的特性 查看指定的数据库使用的字符集和校对规则&#xff1a; 比较是否区分大小写字母差异 显示创建语句 …

Moretl开箱即用日志采集

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…