plenoxels代码运行笔记

系统:ubuntu 22.04
nvidia驱动:12.1
cuda:11.7
跑:nerf_synthetic数据集
本来准备在自己的3060笔记本上跑,个位数的gpu根本不够,最后重新配环境在服务器上跑的。

主要依靠: Plenoxels代码svox2的复现记录

流程
1.确认下nvidia驱动和cuda是下载好的(nvidia-smi显示的cuda版本可以高于nvcc -V显示的)

nvidia-smi
nvcc -V

2.拉取项目

git clone https://github.com/sxyu/svox2.git

3.在sovx2文件夹中创建环境

conda env create -f environment.yml
source activate plenoxel

4.在plenoxel环境中 pip list 确认一下自己的torch、torchvision、torchaudio后面是否带了cu,如果没有的话 pip uninstall ** 分别卸载一下这三项。在pytorch官网查看一下自己的cuda版本应该使用什么版本的pytorch。

解决方法参考:torch.cuda.is_available()返回false——解决办法

个人解决办法很脑瘫,先在官网使用以下代码下载了一次torch,在conda list里面记录下对应下载的cpu版本。
在这里插入图片描述
确认了我使用的是pytorch 2.0.1,torchaudio 2.0.2,torchvision 0.15.2,再将3个卸载,重新下载:

pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2 -f https://download.pytorch.org/whl/cu117/torch_stable.html

其中cu后面的数字是cuda版本,我是用的是11.7版本。查看一下是否可用:

import torch
print('CUDA版本:',torch.version.cuda)
print('Pytorch版本:',torch.__version__)
print('显卡是否可用:' ,torch.cuda.is_available())

5.版本够新,无视以下,还是记录一下

conda install -c bottler nvidiacub

6.在svox2/svox2下执行:

cmake csrc

可能遇到的问题:一些cmake error fixed

其中pybind11和libtorch都只能使用conda install下载。
libtorch需要在svox2/svox2/csrc/Cmakelists.txt添加内容,以上解决方案内有。途中下载libtorch报The following packages are causing the inconsistency的错误,显示几个包冲突,忘了截图了,解决方法是把冲突包conda uninstall卸载掉了。
7.在svox2执行:

pip install -e . --verbose

8.将下载好的nerf_synthetic放入svox2/opt,并在在svox2/opt执行:

python -u opt.py -t ckpt/syntest nerf_synthetic/ship -c configs/syn.json

9.评估。运行结束后在svox2/opt/ckpt里面,在svox2/opt文件夹并执行:

python render_imgs.py ckpt/syntest/ckpt.npz nerf_synthetic/ship --no_imsave

在这里插入图片描述
最后得到结果在这里插入图片描述
10.得到mp4

python render_imgs_circle.py ckpt/syntest/ckpt.npz nerf_synthetic/ship

都差不多,第一个地址指向训练得到的ckpt里面的npz,第二个指向你存数据集的位置。最后结果在ckpt当中。
在这里插入图片描述

报错
1.跑代码到随机光线的时候报:

AssertionError: CUDA extension is currently required for accelerate.

可能是环境没有配好就使用cmake csrcpip install -e . --verbose。直接把所有文件全删了重新git clone,直接使用完成体的环境重新cmake csrcpip install -e . --verbose一下。(记得在csrc/Cmakelists.txt添加libtorch相关内容)

只要pip install -e . --verbose报奇怪的错误,都可以考虑把环境搞好后重新git一次代码从头开始。(无论在本地还是在服务器上配环境我都这样解决的)

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值