Ubuntu 18安装nerfstudio教程、踩坑记录

2023-10-29 12:31

本文主要是介绍Ubuntu 18安装nerfstudio教程、踩坑记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在最前头!!!配置nerfstudio需要cuda没有cuda请不用往下看了,cuda官方是要求11.3或者11.7我自己用的是阿里云的11.4亲测可用。

一、配置环境

安装anaconda3

去官网或者镜像下载anaconda3 的执行文件

官网:anaconda官网

清华镜像:清华大学开源软件镜像站

下载好之后执行如下代码:

bash Anaconda3-2023.03-1-Linux-x86_64.sh

等待安装完成之后出现(base)字样,然后按照nerfstudio文档 创建虚拟环境:

conda create --name nerfstudio -y python=3.8
conda activate nerfstudio
python -m pip install --upgrade pip

创建完环境之后需要安装torch,这里以cuda11.3为例:

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html

如果是cuda11.7的用这个命令:

pip uninstall torch torchvision functorchpip install torch==1.13.1 torchvision functorch --extra-index-url https://download.pytorch.org/whl/cu117

来自2023.6.20日的更新

nerfstudio官方文档的更新,已经适配cuda11.8,如果是新显卡(如4090等)可以使用cuda11.8

cuda11.8和pytorch2.0.1安装如下:

pip uninstall torch torchvision functorch tinycudannpip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

安装tinycudann

pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

注意!在安装tinycudann的时候可能会因为在国内的原因导致无法从github拉取,出现

“The TLS connection was non-properly terminated.”这样的报错,我是使用以下命令:

git config --global --unset http.proxy 
git config --global --unset https.proxy

但是有时候也会出问题,我也参考了这篇文章:知乎

在安装完tinycudann之后,就可以按照文档安装nerfstudio了:

pip install nerfstudio

注意!使用如上命令的时候会自动把上面的torch卸载安装别的版本(除非你就是11.3),否则在执行上述命令之后再执行一下如下命令重新装回torch1.12:

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html

2023.6.20更新:

根据pytorch2.0.1更新文档,functorch的api已经更改,无需额外安装,因此,如果是安装了cuda11.7/11.8+pytorch2.0.1的小伙伴可以不用再安装functorch

如果是cuda11.3+torch1.12则在安装完成之后还需要再安装一个新的依赖:

pip install functorch==0.2.1

注意!不要直接使用pip install functorch,会自动把torch卸载,直接安装制定版本即可。

至此 nerfstudio的基本框架都安装完毕。

可以用官方文档的demo试一下:

# Download some test data:
ns-download-data nerfstudio --capture-name=poster# Train model
ns-train nerfacto --data data/nerfstudio/poster

在执行第一行命令时因为是直接从google drive上取数据所以服务器在国内的小伙伴可能会出现错误,我的服务器是在国外的所以可以直接用,如果不行的话不要着急,不一定是你装错了!!

这里以我的为例,运行成功之后出现如下画面:

然后我们用给的这个链接使用viewer在我们的电脑上远程查看结果。

首先 将上述链接复制进我们的浏览器(我们的链接可能不一样以自己的为准)

我们还需要将我们的电脑连上远程的服务器,我自己的电脑是windows的,这里也给出了方法:

 打开windows的powershell

输入如下,username是服务器的用户名 remote-machine-ip是服务器的公网ip地址

ssh -L 7007:localhost:7007 <username>@<remote-machine-ip>

链接好之后,再打开网页就可以看到demo了:

 当然我知道大家可能想用自己的数据,所以官方也给出了方法:

 由于我使用的是图片的数据,因此我还要再安装colmap和ffmpeg。

安装ffmpeg执行如下命令即可:

sudo apt install ffmpeg

二、安装colmap

安装colmap是最麻烦的,官方文档给出了安装colmap的方法:

sudo apt install colmap

但是经过我的测试,我使用这个方法安装colmap之后在特征提取的时候会出现“Shader not supported by your hardware!”和“SiftGPU not fully supported!”

于是我参考这篇文章:CSDN 重新下载编译colmap 

按照官方的文档,进行如下的操作:

sudo apt-get install \git \cmake \ninja-build \build-essential \libboost-program-options-dev \libboost-filesystem-dev \libboost-graph-dev \libboost-system-dev \libboost-test-dev \libeigen3-dev \libflann-dev \libfreeimage-dev \libmetis-dev \libgoogle-glog-dev \libgflags-dev \libsqlite3-dev \libglew-dev \qtbase5-dev \libqt5opengl5-dev \libcgal-dev \libceres-dev

除此之外,如果是和我一样用的Ubuntu 18版本的,还需要额外加命令:

sudo apt-get install libcgal-qt5-devsudo apt -y install liblz4-dev

注意!!!!

然后将anaconda的文件夹改名!将anaconda的文件夹改名!将anaconda的文件夹改名!

这样做是防止之后anaconda的环境会影响后续编译,改好之后重新进一下终端,这时候如果前面的(base)没有了证明已经改了。

更新cmake

上面的命令已经自动安装了cmake了,不过是安装的cmake3.10,如果用这个版本后面编译会出问题,经过我的测试使用cmake 3.26.0可以通过。那就来更新cmake。

首先下载新版本的cmake:

wget https://cmake.org/files/v3.26/cmake-3.26.0-linux-x86_64.tar.gz

解压:

tar zxvf cmake-3.26.0-linux-x86_64.tar.gz

删除旧版本的cmake(这里可以选择直接删除也可以将文件复制走再删除):

sudo rm -rf /usr/bin/cmake  #(删除原本cmake 也可复制保存) 

注意!我的cmake在这个文件下,请找对自己的cmake的文件目录!

创建软连接:

sudo ln -s /root/cmake-3.26.0-linux-x86_64/bin/cmake /usr/bin/cmake

注意!:/root/cmake-3.26.0-linux-x86_64/bin/cmake是解压之后的cmake路径  

/usr/bin/cmake是原本的cmake路径

之后输入cmake --version 可以查看cmake的版本

编译colmap

首先克隆源文件:

git clone https://github.com/colmap/colmap.git

然后:

cd colmap
git checkout dev
mkdir build
cd build

注意!我需要的是cuda版本的colmap,因此需要指定我的cuda,按照官方的文档和参考知乎的方法,在build目录下输入如下命令,/usr/local/cuda/bin/nvcc 需要改成自己的cuda的文件目录

sudo cmake .. -D CMAKE_CUDA_COMPILER="/usr/local/cuda-11.4/bin/nvcc" ../CMakeLists.txt -D CMAKE_CUDA_ARCHITECTURES='native'

等待完成之后,会在build目录生成Makefile文件,在这个文件目录下,执行如下命令:

make
sudo make install

make命令的时间很长,需要耐心等待。等到100%之后再执行sudo make install即可

然后试一下colmap命令:

 安装成功。

三、使用自己的数据

官方文档给出使用自己数据的命令,如下所示:

ns-process-data {video,images,polycam,record3d} --data {DATA_PATH} --output-dir {PROCESSED_DATA_DIR}

第一个参数是指定输入的数据格式如image video等,

第二个参数是的指定源数据位置

第三个参数是指定colmap处理后的数据的位置

以我自己的数据为例,我使用图片数据进行:

ns-process-data images --data /root/data/pt007 --output-dir /root/processed_data/pt007

处理完成之后再使用如下命令进行nerf三维重建:

ns-train nerfacto --data {PROCESSED_DATA_DIR}

 如果需要重建mesh模型还需要再加上:

ns-train nerfacto --pipeline.model.predict-normals True --data {PROCESSED_DATA_DIR}

参考文章:

1、git报错:The TLS connection was non-properly terminated._蓝雨飞扬7的博客-CSDN博客

2、Linux Colmap出错“Shader not supported by your hardware!“和“SiftGPU .....

3、在Linux上安装其他版本的cmake 或 升级cmake

4、COLMAP3.8在Ubuntu18.04 下的配置 - 知乎

5、nvcc fatal : Unknown option 'fPIC' · Issue #1753 · colmap/colmap · GitHub

6、极智开发 | 解决 linux 上 git clone 慢或失败的方法 - 知乎

7、nerfstudio

8、Installation — COLMAP 3.8-dev documentation

至此nerfstudio安装+使用完毕,我自己摸索两三天才配置完,感觉网络是占了很大的问题,国内git clone经常容易出错。另外就是文档中错误的指引比较少,再加上使用nerfstudio的人也很少,因此我就记录一下我自己安装和踩坑的过程,帮助大家。

这篇关于Ubuntu 18安装nerfstudio教程、踩坑记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/300676

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP