NeRF-DS环境搭建与复现

环境配置

  我使用的是阿里云的DSW,

首先获取源码,

Git clone GitHub - JokerYan/NeRF-DS: This is the code for "NeRF-DS: Neural Radiance Fields for Dynamic Specular Objects".

作者更新后的requirements_exact.txt文件中有一些需要修改的地方,

有几个作者本地导入的包,需要将本地路径删除,

numpy改为numpy==1.24.3

删除jaxlib==0.3.15+cuda11.cudnn82,这个包需要手动安装,下载链接:https://storage.googleapis.com/jax-releases/cuda11/jaxlib-0.3.15+cuda11.cudnn82-cp38-none-manylinux2014_x86_64.whl

模型训练及渲染

我使用的是单卡NVIDIA A10,训练数据集为cup,as

显存消耗21GB,大概耗时六小时

渲染程序在运行时出错,原因是使用 OpenCV 的 imshow时,服务器端没有图形界面(X server),无法运行,这里我选择使用虚拟显示来解决问题,代码如下:

 

apt-get update apt-get install xvfb Xvfb :99 & export DISPLAY=:99

渲染时长大概4小时

生成的一个包含

  • RGB 图像数据

  • 媒介深度(depth_med

  • 光线法线(ray_norm

  • 预测掩码(ray_predicted_mask

  • 光线偏移量(ray_delta_x

的npy文件

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要在PyTorch中使用自己的数据集进行命名实体识别(NERF),您可以按照以下步骤操作: 1. 准备数据集:首先,您需要准备一个包含标记好的命名实体的数据集。每个样本都应该是一个句子及其对应的实体标签。确保将数据集分为训练集、验证集和测试集。 2. 数据预处理:将数据集预处理为适合模型训练的格式。您可以将每个句子中的单词转换为数字编码,构建词汇表,并将标签进行数字编码或者使用标签映射表。 3. 创建数据加载器:使用PyTorch的`DataLoader`类来加载数据。您可以创建一个自定义的数据集类继承自`torch.utils.data.Dataset`,并实现 `__getitem__` 和 `__len__` 方法来获取样本和样本数量。 4. 定义模型:使用PyTorch定义一个NERF模型。您可以选择使用预训练的模型(如BERT)作为基础模型,然后添加一些额外的层来进行NERF任务。根据您的数据集大小和任务复杂性,选择适当的模型架构。 5. 定义损失函数和优化器:选择合适的损失函数(如交叉熵损失)和优化器(如Adam)来训练模型。 6. 训练模型:使用训练集对模型进行训练。迭代数据加载器中的每个批次,计算损失并进行反向传播更新模型参数。 7. 评估模型:使用验证集评估模型的性能。计算模型在命名实体识别任务上的准确率、召回率、F1值等指标。 8. 模型推理:使用训练好的模型对新的句子进行命名实体识别。将句子转换为模型可接受的格式,并使用模型预测实体标签。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值