Nerf三维重建Pytorch使用Pycharm运行0基础教程
------------------------------------20230615更新----------------------------------------------
Nerf自制数据集
------------------------------------20230427更新----------------------------------------------
Nerf代码讲解,从零简单复现论文代码
你好! 这里是“出门吃三碗饭”本人,本文章接下来将介绍如何从0运行2020会议Nerf的Pytorch版本,让你自己动手渲染第一个三维模型。视频解说可以关注B站,搜索 出门吃三碗饭 ,即可找到对应视频(预计11.24更新),另外可以关注《AI知识物语》 公众号获取更多详情信息。
讲解视频链接如下
讲解演示视频
第一步,理所当然的是获得Nerf的代码了
1:百度搜索"PaperCode"
PaperCode网址放在这里了
2:左上角输入Nerf 右键Enter
3:来到该页面,点击SeeCode即可
4:进入seeCode页面后,下滑找到红色圈圈大佬留下的GitHub库,我们这次将运行他的代码
5:左键进入github仓库,进行下载即可(这部分可以用git指令,或者下载成zip压缩包解压后使用都可以)
6:我在这里就直接下载压缩包,解压,用Pycharm打开项目,目录的展开情况如下。
第7步,代码都找到了,是不是得准备下数据集了?
我们回到 大佬的github仓库,也就是下面这个界面,往下滑,自己去学会读下面的英语内容。
8:我们先复制我 红线 画出来的地方,在pycharm中运行pip指令来下载第三方库,如果 使用作者给出的pip下载指令遇到 fail问题,建议一个包一个包下载试试。具体问题具体分析,这里就不拓展。
git clone https://github.com/yenchenlin/nerf-pytorch.git
cd nerf-pytorch
pip install -r requirements.txt
9:上述pip install指令 顺利执行后,可以看见每个.py文件的 import语句都没有报红,那这步就ok了
python -m pip install tensorflow==1.31.1 -i https:
10:我们继续回到大佬的Github仓库往下看,So,we need the data because project we downloaded have no data file。
这里我们就需要自己手动创建 data文件,这里我们是一样的
11:接下来我们就需要获取数据了,点击大佬给出的链接,把里面的数据下载下来,然后跟着大佬给模板目录放就ok了(这里需要科学上网,数据另外获取方式见文末),最后成果如第3幅图(我下载的有点多了)
12:获取完数据后怎么办?那当然就是直接开始体验训练模型啦!!!不过得提前改个东西,不然运行不了。点击pycharm里面的run_nerf.py文件,定位到431行,我们可以看到该行代码意思是读取文件目录下的数据,你还记得在我们下载下来的数据叫什么名字吗?叫 nerf_llff_data 而不是 llff ,这里记得改一下,不然会报错。
改成下图所示
13:(注意里面默认你已经配置好了pycharm,GPU运行的环境,也建议使用GPU训练)没问题,开始运行吧,进入pycharm控制台,输入 -
python run_nerf.py --config configs/{DATASET}.txt
你可以把 {DATASET} 换成你想训练的数据集
比如,我想渲染3d的花,就用下面的指令
python run_nerf.py --config configs/flower.txt
14:正常的运行情况如上图所示,下图可以看到这里大佬大概训练次数是20W次,预估18,19小时(我这还是3050Ti显卡,可惜实验室4090轮不到我,凄凉)所以能有GPU就用GPU训练吧,CPU劝退。
15:另外我在训练的时候还遇到一个问题就是,我的显卡4G,大概训练4,5w次的时候显存就会爆满,运行会自动停止。需要你手动去调,重新开始。大概情况如第2个图,在停止后,log文件夹下面会生成 15w.tar 文件,这个是我训练第15w次后,显存满停下来后保存的文件,这个千万别删,不然你就得重头训练。 在log保留这个文件后,重新运行,他会从第1500001次开始训练。关注第3个图的右下角,是不是只有50000次运算剩余了。大概情况就是这些。
16:最终,终于训练完了,是不是特别激动!这里我是放在GoogleColab上训练的,就展示在上面的效果吧。训练结束在 nerf-pytorch 文件夹下面有相应的视频,(pycharm同理)
嘶,这里不能在线上传视频,需要给视频链接。到时候我会把演示结果视频上传到该平台,自行前往观看。
b站视频讲解平台的链接,点击直达
文末结尾
另外上文提到的 数据需要科学上网下载,需要的话可以关注公众号,输入 nerf数据集 即可下载
同时,训练20W次估计要2天的时间,我这里还提供了训练15W次时候的文件记录,到时候我会将项目我成功运行的项目打包,里面包含完整的 log文件以及data文件,关注公众号,输入 nerf完整项目 即可下载
该平台只用来发文章,私信不看的噢,可以关注下方公众号留言
另外不会有人真的用pycharm去跑nerf模型吧!!!后期如果文章效果不错,将推出,如何使用Google Colab去训练本文的nerf模型,Google Colab总而言之就是一个云上服务器,简单容易上手,而且提供Tesla t4 显卡(至少比我笔记本3050ti)好多了。
一句话:用Google Colab训练比笔记本pycharm上训练方便、快。 就这2个字