ubuntu20.04 nerf Instant-ngp

news2024/11/15 14:23:20

Instant-ngp linux


ubuntu 20.04
GPU RTX3050Ti

Instant-ngp官方文档地址

https://github.com/NVlabs/instant-ngp

参考链接
Instant-ngp linux部署及使用 - 简书

Ubuntu20.04复现instant-ngp,自建数据集,导出mesh_XINYU W的博客-CSDN博客


步骤
安装基本依赖

sudo apt-get install build-essential git python3-dev python3-pip libopenexr-dev libxi-dev \
                 libglfw3-dev libglew-dev libomp-dev libxinerama-dev libxcursor-dev


                 
安装CUDA   
官网给的是NVIDIA+CUDA,但我个人推荐现在自己电脑装对应的显卡驱动

首先进入

CUDA Toolkit - Free Tools and Training | NVIDIA Developer

download now
Linux
x86_64
ubuntu
20.04
runfile(local)


可以参考

Ubuntu 20.04安装CUDA 11.4, cuDNN 8.24 - 知乎

ubuntu将cuda卸载干净_ubuntu卸载cuda-CSDN博客


也可以参考下面
可以看到

wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
sudo sh cuda_12.2.2_535.104.05_linux.run

这是可以看到535,那我们就在自己电脑的软件和更新里面选择(记得先sudo apt update,sudo apt upgrade),选择NVIDIA driver metapackage 来自****535(专有)

点击应用更改,需要等待一定时间,完成后重启。


重启后打开终端下载(4.3G左右,大概8分钟)

wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run

下载后
安装前可以选择为gcc降级

sudo apt-get install gcc-7 g++-7
 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
 
sudo update-alternatives --display gcc    
 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
 
sudo update-alternatives --display g++


安装驱动

sudo sh cuda_12.2.2_535.104.05_linux.run

选“continue”
取消Driver的选取(X是选中的意思,因为之前已经安装过驱动)
然后Install

完成后屏幕输出
Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-10.1/
Samples:  Installed in /home/abneryepku/

Please make sure that
 -   PATH includes /usr/local/cuda-10.1/
 -   LD_LIBRARY_PATH includes /usr/local/cuda-10.1/lib64, or, add /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf and run ldconfig as root
 
 这里我的是12.2,上面是放别人的所以是10.1,注意自己的版本
 
 
 ~/.bashrc 文件中写入(10.1为自己对应的版本
 

 sudo gedit  ~/.bashrc
 # add nvcc compiler to path
export PATH=$PATH:/usr/local/cuda-10.1/bin
# add cuBLAS, cuSPARSE, cuRAND, cuSOLVER, cuFFT to path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64:/usr/lib/x86_64-linux-gnu

然后

source ~/.bashrc

检查CUDA是否安装成功
终端输入nvcc -V,若有输出,则安装成功


至此,cuda和驱动安装成功


安装cmake
cmake安装包:链接: https://pan.baidu.com/s/1Dv99ODmhjzizkz5clEKI2g?pwd=zims 提取码: zims 
1.从官网下载cmake安装包,输入指令解压缩

sudo tar -zxvf cmake-3.24.0-rc1.tar.gz

2.进入解压缩后的文件夹中执行

sudo ./bootstrap
sudo make
sudo make install

安装OptiX
OptiX安装脚本:链接: https://pan.baidu.com/s/1Dv99ODmhjzizkz5clEKI2g?pwd=zims 提取码: zims 
下载Optix安装脚本到 /usr/local 目录(执行下面命令是会提示你是否安装在/usr/local )

bash NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64.sh

执行完安装脚本后,会在/usr/local下生成 NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64/ 目录

cd /usr/local
ll


可以看到NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64/


设置OptiX_INSTALL_DIR为环境变量,在 ~/.bashrc 文件最后添加以下内容

export OptiX_INSTALL_DIR="/usr/local/NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64"

安装COLMAP
1.安装依赖包

sudo apt-get install \
git \
build-essential \
libboost-program-options-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-system-dev \
libboost-test-dev \
libeigen3-dev \
libsuitesparse-dev \
libfreeimage-dev \
libmetis-dev \
libgoogle-glog-dev \
libgflags-dev \
libglew-dev \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev \
libcgal-qt5-dev

2.安装ceres-solver
ceres环境配置
下载地址:

git clone https://github.com/ceres-solver/ceres-solver

安装附加库前需要安装依赖项,依赖项会报错。解决:
//第一步,打开sources.list

sudo gedit /etc/apt/sources.list

//第二步,将下面的源粘贴到最上方sources.list

deb http://cz.archive.ubuntu.com/ubuntu trusty main universe

//第三步,更新源(看网速)

sudo apt-get update

//第四步,重新输入依赖项安装命令安装依赖项

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev


#进入到解压后的压缩文件夹中,进行编译:(预计10分钟)

mkdir build

cd build

cmake ..

make -j4

#然后执行:

sudo make install

sudo ldconfig

#验证是否安装成功:

/usr/local/include/ceres有ceres的头文件,/usr/local/lib/下能找到名为libceres.a的库文件

以上是ceres的配置

3.安装colmap

git clone https://github.com/colmap/colmap
cd colmap
git checkout dev
mkdir build
cd build
cmake ..


这一步可能会报You must set CMAKE_CUDA_ARCHITECTURES to e.g. 'native', 'all-major', '70', etc. "的错,在错的文件的位置加上下面这行即可

set(CMAKE_CUDA_ARCHITECTURES "native")

如果在完成上面添加重新cmake .. 报了gpu的另一个错则换成下面这个

set(CMAKE_CUDA_ARCHITECTURES "all-major")
rm -rf *
cmake ..
make -j12
sudo make install


4.验证colmap

colmap -h
# 有GUI的可执行以下命令
colmap gui


部署instant-ngp

1.clone项目代码到项目目录

git clone --recursive https://github.com/nvlabs/instant-ngp
cd instant-ngp

2.使用cmake构建项目

cmake . -B build
cmake --build build --config RelWithDebInfo -j 16

3.使用测试数据测试

./instant-ngp  ./data/nerf/fox

./instant-ngp data/sdf/armadillo.obj

./instant-ngp data/image/albert.exr


 

2023.10.12

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

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

相关文章

Elasticsearch 分片内部原理—使文本可被搜索、动态更新索引

目录 一、使文本可被搜索 不变性 二、动态更新索引 删除和更新 一、使文本可被搜索 必须解决的第一个挑战是如何使文本可被搜索。 传统的数据库每个字段存储单个值,但这对全文检索并不够。文本字段中的每个单词需要被搜索,对数据库意味着需要单个字…

object property order

起因 使用 prosemirror 时,想要取 schema 实例设置的 nodes const mySchema new Schema({nodes: {doc: {},customBlock: {},text: {},},marks: {}, });在浏览器控制台查看 mySchema,发现两个地方有nodes: mySchema.nodes 是普通对象&…

某医疗机构:建立S-SDLC安全开发流程,保障医疗前沿科技应用高质量发展

某医疗机构是头部资本集团旗下专注大健康领域战略性投资与运营的实业公司,市场规模超300亿。该医疗机构已完成数字赋能,形成了标准化、专业化、数字化的疾病和健康管理体系,将进一步规划战略方向,为人工智能纳米技术、高温超导、生…

【分享】小红书采集图片下载到本地

前面我们把图片链接都存到了excel里,现在想要把图片都下载到本地文件夹 下面是实现的python代码 图片链接存在第三列单元格,并且是多个图片\n分割的,现在把他们全部下载到本地 import pandas as pd import requestsdf pd.read_excel(&quo…

关于scanf和printf的格式控制修饰符

关于scanf和printf的格式控制修饰符

input时间控件选择时禁用某个日期之前或之后

【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】【创作不易,点个赞就是对我最大的支持】 前言 仅作为学习笔记,供大家参考 总结的不错的话,记得点赞收藏关注哦! 目录 …

应届生写简历不如AI?HR招人到底看什么

又双叒创新高! 据悉,2024届高校毕业生人数预计有 1187 万人,比2023届将近多30万人!相当于冰岛一个国家的人口啊! 毋庸置疑,大学生的就业压力只增无减。也因此,2024届的应届生们为了博HR关注&…

2023年中国艺人管理行业发展历程及趋势分析:未来市场规模还会不断增加[图]

艺人管理行业是指一系列涉及艺人职业发展、形象管理、工作安排、合同管理、媒体宣传策划、财务管理等方面的专业服务和活动。它旨在协助艺人实现个人职业目标,提升艺人在娱乐行业中的知名度、影响力和经济效益,维持艺人形象的稳定和提高其工作的效率和质…

公众号营业执照注销被冻结了,怎么迁移?

公众号迁移后原来内容还在么?通过公众号迁移,可以实现这些目的:主体变更、开通留言功能、多号合并、订阅号升级为服务号、服务号转为订阅号。公众号迁移流程:①办理公证;②提交迁移申请;③第三方审核&#…

json库的基本使用

目录 1 将python变量转变为json变量 dumps() 2 将json变量转换为python变量 loads() 3 将键值对存储为json文件 dump() 4 读取json文件 前后端常用json进行信息的交互,不转json会有收不到的情况 我们先看一下转换成json的服务 发现该有的信息都有&#x…

实战指南:使用 kube-prometheus-stack 监控 K3s 集群

作者简介 王海龙,Rancher 中国社区技术经理,Linux Foundation APAC Evangelist,负责 Rancher 中国技术社区的维护和运营。拥有 9 年的云计算领域经验,经历了 OpenStack 到 Kubernetes 的技术变革,无论底层操作系统 Lin…

【JavaEE初阶】 死锁详解

文章目录 🎋死锁的概念🌳死锁的三个典型情况🚩一个线程一把锁🚩两个线程两把锁🚩n个线程m把锁(哲学家就餐问题) 🎄如何破除死锁🚩破坏循环等待 本文重点: 死锁咋回事 死锁的三个典型…

2023年中国石油催化裂化剂行业供需、竞争格局及市场规模分析[图]

催化裂化是石油炼制过程之一,是在热和催化剂的作用下使重质油发生裂化反应,转变为裂化气、汽油和柴油等的过程。中国原油加工量在这一阶段逐年提升,2022年国内原油加工量67589.7万吨。 2016-2022年中国原油加工量情况 资料来源:国…

learn编码器

目录 1、编码器的作用 2、编码器的结构图 3、代码实现如下 1、编码器的作用 编码器用于对输入进行指定的特征提取的过程,也称为编码,由 N 个编码器层堆叠而成 2、编码器的结构图 3、代码实现如下 import numpy as np from torch.autograd import Vari…

RabbitMQ开启消息跟踪日志(trace)

Trace 是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试、排错。 1、启动Tracing插件 在RabbitMQ中默认是关闭的,需手动开启。此处rabbitMQ是使用docker部署的 ## 进入rabbitMq中 docker exec -it rabbitmq1 bash ## 启动日志插件 r…

基于图像的照明(IBL)简明教程

基于图像的照明基本上将图像中的所有像素视为光源。 通常,从全景高动态范围 (HDR) 图像创建的环境贴图(通常是立方体贴图)将用作纹理获取的源。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 假设阴影物体是不透明的,我们…

lazada商品评论数据接口,lazada商品评论API接口,lazadaAPI接口

lazada商品评论数据接口可以按照以下步骤获取: 注册Lazada开发者账号,创建API密钥和访问令牌。调用Lazada Open API中的Product Review API,提供商品的SKU或Seller SKU参数,即可获取该商品的所有评论。 Lazada商品评论数据接口封…

【Spring Boot从入门到实战】RabbitMQ消息队列 —— RabbitMQ入门

💠一名热衷于分享知识的程序员 💠乐于在CSDN上与广大开发者交流学习。 💠希望通过每一次学习,让更多读者了解我 💠也希望能结识更多志同道合的朋友。 💠将继续努力,不断提升自己的专业技能,创造更多价值。🌿欢迎来到@"衍生星球"的CSDN博文🌿 🍁本…

Web安全教程(超详细!从入门到精通!零基础可学!)

Web简介: Web 即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。 万维网常…

2023年中国数控系统市场发展历程及趋势分析:数控系统市场规模将持续扩大[图]

数控系统是根据计算机存储器中存储的控制程序,执行部分或全部数值控制功能,并配有接口电路和伺服驱动装置的专用计算机系统。通过利用数字、文字和符号组成的数字指令来实现一台或多台机械设备动作控制,它所控制的通常是位置、角度、速度等机…