当前位置: 首页 > news >正文

GNeRF代码复现

https://github.com/quan-meng/gnerf

之前一直去复现这个代码总是文件不存在,我就懒得搞了(实际上是没能力哈哈哈) 最近突然想到这篇论文重新试试复现

一、按步骤创建虚拟环境安装各种依赖等

在这里插入图片描述

二、安装好之后下载数据,可以用Blender也可以下载DTU,将下载好的数据放在创建的data包里

在这里插入图片描述

三、运行(第一次复现的时候i就是卡在运行这一步,总是说文件不存在)

在这里插入图片描述

python train.py ./config/CONFIG.yaml --data_dir PATH/TO/DATASET

首先来解释一下这串代码的含义
python train.py是运行Python脚本的标准命令,train.py是训练的脚本文件,代码意思就是Python解释器执行当前目录下名为train.py的脚本

./config/blender.yaml指定了配置文件的路径。这个YAML文件很可能包含了训练过程中需要的各种配置信息,比如模型架构、训练参数(学习率、批大小等)、优化器设置等。(注:一般会通过–config作为参数传递给脚本。虽然命令中没有直接写出–config,假设这里是省略了–config或使用了某个特定的参数名,如–cfg或直接在位置参数中指定))

--data_dir PATH/TO/DATASET这里明确使用了–data_dir参数来指定数据集目录的路径。PATH/TO/DATASET应该被替换为您的实际数据集路径。

接下来修改一下代码,因为我下载的是blender数据集所以将数据集路径修改为./data/nerf_synthetic/lego,即数据集选择blender中的乐高数据

python train.py ./config/blender.yaml --data_dir ./data/nerf_synthetic/lego

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

 # Create dataloadersprint("Making dataloader...")train_loader = create_dataloader(args.data, 'train', args.data_dir, args.img_wh, args.batch_size, args.num_workers)#调用了create_dataloader函数两次,分别用于创建训练数据加载器(train_loader)和评估(验证)数据加载器(eval_loader)eval_loader = create_dataloader(args.data, 'val', args.data_dir, args.img_wh, args.batch_size, args.num_workers)print(f'Data: {args.data}, train: {len(train_loader.dataset)} val: {len(eval_loader.dataset)}')# args.data:数据集的类型或名称,这决定了要加载哪个数据集。# 'train''val':指定数据加载器是用于训练集还是验证集。#  args.data_dir:数据集的存储目录。#  args.img_wh:图像的大小(宽度和高度),这通常用于预处理步骤,以确保所有输入图像都具有相同的尺寸。# args.batch_size:每个批次中要加载的图像数量。#args.num_workers:用于数据加载的并行工作进程数。

运行之后是下面这种情况

在这里插入图片描述
在这里插入图片描述

好几个小时了,结果大概明天或者更久才能出

四、总结:

一般遇见代码路径等需要修改的时候,可以多尝试一下修改代码,费时点的话就需要理解一下运行脚本

相关文章:

  • python水仙花数 青少年编程电子学会python编程等级考试三级真题解析2022年3月
  • php+极光推送(厂商通道) jpush推送
  • debug-mmlab
  • Apache Calcite Linq4j学习
  • MySQL数据库学习指南与学习资源推荐
  • 题解:CF1981C(Turtle and an Incomplete Sequence)
  • Linux源码阅读笔记12-RCU案例分析
  • 『MySQL 实战 45 讲』22 - MySQL 有哪些“饮鸩止渴”提高性能的方法?
  • onTouch()与onTouchEvent()的区别
  • cpu,缓存,辅存,主存之间的关系及特点
  • Vue报错:Component name “xxx” should always be multi-word vue/multi-word-component
  • Swift 中强大的 Key Paths(键路径)机制趣谈(上)
  • 深入理解Vue生命周期钩子函数
  • 昇思25天学习打卡营第8天|DCGAN生成漫画头像
  • 三分钟看懂SMD封装与COB封装的差异
  • 时间复杂度分析经典问题——最大子序列和
  • Apache的基本使用
  • Codepen 每日精选(2018-3-25)
  • fetch 从初识到应用
  • JS笔记四:作用域、变量(函数)提升
  • js中forEach回调同异步问题
  • leetcode-27. Remove Element
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Python十分钟制作属于你自己的个性logo
  • sessionStorage和localStorage
  • 笨办法学C 练习34:动态数组
  • 对象管理器(defineProperty)学习笔记
  • 近期前端发展计划
  • 开发基于以太坊智能合约的DApp
  • 坑!为什么View.startAnimation不起作用?
  • 排序(1):冒泡排序
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 事件委托的小应用
  • 双管齐下,VMware的容器新战略
  • 新版博客前端前瞻
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​第20课 在Android Native开发中加入新的C++类
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #QT(智能家居界面-界面切换)
  • (Forward) Music Player: From UI Proposal to Code
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (编译到47%失败)to be deleted
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (十一)c52学习之旅-动态数码管
  • (转) Android中ViewStub组件使用
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)重识new
  • .Mobi域名介绍
  • .net core 连接数据库,通过数据库生成Modell
  • .NET MVC之AOP