Nerf三维重建Pytorch使用Pycharm运行0基础教程

news2024/12/25 9:30:45

Nerf三维重建Pytorch使用Pycharm运行0基础教程

你好! 这里是“出门吃三碗饭”本人,本文章接下来将介绍如何从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了

在这里插入图片描述

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个字

在这里插入图片描述

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

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

相关文章

Improving Inductive Link Prediction Using Hyper-Relational Facts

摘要 多年来,知识图(KGs)上的链接预测一直是一个纯粹的转换任务,不允许对看不见的实体进行推理。最近,越来越多的努力被投入到探索半和全归纳场景,使推理能够对不可见的和新兴的实体。然而,所有这些方法都只考虑基于三元组的kg,而它们更丰富的对应,超关系KG(如Wikidata…

OWASP ZAP mac chrome代理配置取消URL强制Https【已解决】

1.OWASP ZAP OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,由数百名国际志愿者积极维护。它可以帮助你在开发和测试应用程序时自动查找Web应用程序中的安全漏洞。 也可以说ZAP是一个中间人代理。它能够获取你对Web应用程…

2022亚太赛题浅评

2022年亚太今日已经正式开赛,为了帮助大家更好的选题建模,这里首先对ABC三道题目进行浅要评析,以方便大家更好的择题。同时相关资料也会后续进行补充。预计明日公布各题统计选题人数以及较为完善的资料。今天作为第一天重要的是择好题&#x…

XCTF1-web easyupload

easyupload 题目描述 一名合格的黑客眼中,所有的上传点都是开发者留下的后门 进入场景 是个文件上传的页面,测试上传的文件类型,发现是图片上传点 上传正常图片,会回显文件上传的路径 尝试推测文件上传检测点 测试后缀名php、…

Flutter高仿微信-第30篇-单聊-文本

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 详情请参考Flutter高仿微信-第29篇-单聊 , 这里只是提取文本实现的部…

Linux系统中使用汇编初始化外设方法

大家好,我是ST。 今天主要和大家聊一聊,如何使用汇编语言来实现芯片外设的初始化功能。 ​ 目录 第一步:硬件原理分析 第二:实验程序编写方法 第三:汇编代码具体实现 第四:编译与下载 第五&#xff…

临床医生公派赴美国密歇根大学医院访学交流

在保证出国时间的前提下,专业匹配程度越高越好,这是P医生提出的要求。我们的申请团队全力以赴,提前3个月完成了任务,令客户非常满意。 P医生背景: 申请类型:公派访问学者 工作背景:三甲医院 …

【王道计算机网络笔记】物理层-传输介质 物理层设备

文章目录传输介质导向性传输介质双绞线同轴电缆光纤非导向性传输介质物理层设备中继器集线器(多口中继器)传输介质 传输介质也称传输媒体/传输媒介,它就是数据传输系统中发送设备和接受设备之间的物理通路 信道是发送设备和接受设备之间的逻…

【JUC源码专题】Striped64 核心源码分析(JDK8)

文章目录核心变量缓存行填充longAccumulate 方法方法概览cells 数组已初始化重新计算随机数扩容前置条件cells 数组未初始化cas 更新 BaseStriped64 的核心是通过分治思想将对 base 的竞争分散到不同的 cell 单元中。核心变量 // 通过分治的思想将对 base 的竞争分散到不同的 c…

多线程加强

1, 线程状态 1.1 概述 一个线程从创建,运行,到最后销毁的这个过程称之为线程的生命周期,在这个生命周期过程中线程可能会经历如下几个状态:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。 1.2 测试 public class ThreadTest {static String des;//main线程/主线…

【javaEE】网络原理(传输层Part3)

努力经营当下,直至未来明朗! 文章目录前言TCP相关机制7. 延迟应答8. 捎带应答TCP补充【面向字节流】【TCP中的异常处理】另(含面试题)TCP小结THINK前言 一个人最大的痛苦来源于对自己无能的愤怒 Hi,这里还是不想秃头…

数据结构与算法基础-学习-01-线性表之顺序表-初始化、销毁、清理、获取长度、判断为空、获取元素等实现

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 数据结构分为逻辑结构和物理结构(也称为存储结构)。 1、逻辑结构 逻辑结构又可以分为以下…

python学习笔记(09)---(正则表达式)

第七章 内置容器&#xff08;五&#xff09; 8.正则表达式 &#xff08;1&#xff09;正则表达式用于描述字符串的复杂文本规则的代码&#xff0c;一般用于查询匹配 &#xff08;2&#xff09;常见元字符 <1> 作用&#xff1a;表示特殊含义&#xff0c;一般为范围性…

MySQL数据库期末考试试题及参考答案(09)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 一、 填空题 MySQL提供的____命令可以将数据库导出成SQL脚本&#xff0c;以实现数据的备份。mysqldump命令备份多个数据库时&#xff0c;数据库名称之间用____隔开。MySQL中…

Java-1123

Jedis 介绍&#xff1a;Jedis是一款java操作redis数据库的工具&#xff08;类似JDBC&#xff09; 使用步骤&#xff1a; 下载jedis的jar包使用 快速入门 // 1.获取连接 Jedis jedis new Jedis("localhost",6379); // 2.操作 jedis.set("name","z…

c++ 深度拷贝和浅拷贝

一、简介 由于20年转行之后一直用的是halcon 和c# &#xff0c;C就此搁浅&#xff0c;最近开始搞pcl慢慢的又重拾起来&#xff0c;对于深拷贝和浅拷贝我知道是什么原因造成的&#xff0c;也知道如何解决&#xff0c;但是突然被人问得时候又有点蒙蔽&#xff0c;因此做一个简单…

MCE 天然化合物相关库更新

随着现代化合物分离和鉴定技术的不断提高&#xff0c;以及人们对自然界生物多样性的持续研究&#xff0c;越来越多的天然产物被用于新药研究开发。据统计&#xff0c;截至 2013 年&#xff0c;有 547 个天然产物及天然产物衍生物被 FDA 批准上市&#xff0c;占所有 FDA 批准上市…

高通骁龙处理器天梯排行榜2022 骁龙处理器发布时间排行

骁龙处理器天梯图2022最新10月更新榜单 1、高通骁龙8 Gen1 2、高通骁龙8 Gen1 3、高通骁龙888 Plus 4、高通骁龙888 我用的手机就是活动时7.5折抢购的 点击开抢 http://shouji.adiannao.cn/7 1、工艺&#xff1a;搭载最新一代5nm制作工艺&#xff0c;为用户带来最强的处理器性能…

[附源码]Python计算机毕业设计大学生兼职系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

STM32中的独立看门狗和窗口看门狗

独立看门狗和窗口看门狗有什么区别&#xff1f;一、前言二、独立看门狗三、窗口看门狗四、结语一、前言 在早期的MCU中是没有看门狗这种东西的&#xff0c;所以产品就很容易出现死机&#xff0c;跑飞的情况。为了避免这种情况的出现&#xff0c;后期的MCU都集成了看门狗的功能…