windows 上运行 NeSF 代码

NeSF简介

NeSF 是 NeRF 在语义分割上的应用,核心思想是使用NeRF的模型训练一个密度场,将密度场投入3D-Unet网络进行训练,得到空间中每一点的语义信息。并使用给出的 2D 语义图作为监督,损失最小化。
得到新视角下语义图的过程使用了体渲染的方法,将图片上每个像素点都通过体渲染的方法在空间中采样,结合体密度加权求和,获得新视角下的 2D 语义图。

下面是NeSF的网络结构:

在这里插入图片描述

损失:

包括渲染出的语义值与用于监督的2D语义值的损失,以及平滑正则项损失(用于约束一点的语义值尽可能与周围相同)。
在这里插入图片描述

运行代码过程

下载

google 不提供单独的 NeSF 项目,要下载 jax3d 项目合集
https://github.com/google-research/jax3d
安装 python 3.7 环境

配置环境

第一个坑:

安装 requirements.txt 给出的包时,不要用 conda 和pycharm,速度会很慢。
下面是关键:jax 包暂不提供 windows 支持,找到了一种非官方的方法。
下面是它的项目主页,可以在上面找到其他版本的信息:
https://github.com/cloudhan/jax-windows-builder
在NeSF中,只需要使用如下命令安装即可。

pip install jaxlib[cuda111] -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver
第二个坑:

flax.optim not found
在 flax 版本更替的过程中,移除了optim这个包,但代码中要用,所以要装老版本的flax,需要下载 0.5.3 版本。

pip install flax==0.5.3

其他应该没什么问题,如果有的话,无非就是下载得慢了点,找不到包,我使用的是清华源,每个包都能在那里找到。

https://pypi.tuna.tsinghua.edu.cn/simple

运行

第三个坑:

我使用的是3060显卡,显存12G,但是实际运行的时候,显存爆掉了。

报错为:Process finished with exit code -1073741819 (0xC0000005)

调整为建议的参数之后成功运行。
在这里插入图片描述
主要是修改文档中红线部分的参数。
在这里插入图片描述
还有一点,不要在命令行运行代码,不然有些包无法正常导入。
运行方法:
在这里插入图片描述
gin_file:配置文件
gin_bindings:
DatasetParams.data_dir:数据文件夹
DatasetParams.train_scenes:训练的场景
DatasetParams.train_dir:输出结果的目录

注意:双引号 “” 中不能嵌套双引号,要使用单引号

在这里插入图片描述

END

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值