error: object of abstract class type "ngp::TakikawaEncoding<ngp::precision_t, 8U>" is not allowed:
时间: 2024-05-25 22:11:41 浏览: 161
这错误信息表示你在尝试创建一个抽象类的对象,而抽象类是不能被实例化的。在这个错误信息中,抽象类的名称是 "ngp::TakikawaEncoding<ngp::precision_t, 8U>"。
要解决这个问题,你需要找到代码中创建该对象的地方,并将其修改为创建抽象类的子类对象。抽象类是一种不能被实例化的类,它只能被用作其他类的基类。因此,你需要创建一个继承自该抽象类的子类,并在子类中实现抽象类中的纯虚函数。这样,你就可以创建子类对象,并使用它来完成你所需要的操作。
如果你不确定如何解决这个问题,可以在代码中搜索 "ngp::TakikawaEncoding<ngp::precision_t, 8U>",看看它在哪里被声明为抽象类,然后修改代码以解决这个问题。
相关问题
CMake Error: The source directory "C:/Users/Shijunfeng/Desktop/NGP/instant-ngp" does not exist
回答: 根据您提供的引用内容,您遇到了几个问题。首先,引用\[1\]中的命令是将/usr/local/lib/libboost_chrono.so.1.73.0文件复制到指定目录。然而,引用\[2\]显示了一个错误,指出找不到libboost_chrono.so.1.73.0文件。这可能是因为该文件不存在或路径不正确。您可以检查文件是否存在,并确保路径正确。
另外,引用\[3\]显示了一个关于CUDA Toolkit的错误。错误提示指出CUDA Toolkit v11.8目录不存在。您需要验证CUDA Toolkit是否正确安装,或者定义CudaToolkitDir属性来解决此错误。
最后,引用\[4\]显示了一个关于CMake的错误。错误提示指出源目录"C:/Users/Shijunfeng/Desktop/NGP/instant-ngp"不存在。您需要确保该目录存在,并且路径正确。
综上所述,您需要检查文件是否存在、路径是否正确,并验证相关工具是否正确安装,以解决这些错误。
#### 引用[.reference_title]
- *1* *2* [nerf-slam论文复现](https://blog.csdn.net/m0_59601332/article/details/130524366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [The CUDA Toolkit v11.8 directory ‘‘ does not exist. Please verify the CUDA Toolkit is installed](https://blog.csdn.net/w3x2y2/article/details/130713472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
instant ngp
Instant NGP是英伟达实验室开源的一种神经图形原语,全称为Instant Neural Graphics Primitives。它提供了4种神经图形原语的实现,包括神经辐射场(NeRF)、有符号距离函数(SDF)、神经图像和神经体积。
Instant NGP使用了多分辨率哈希输入编码的多层感知机(MLP)来进行训练和渲染,并且借助了tiny-cuda-nn框架。
在Windows操作系统上,您可以直接从GitHub上下载与您的显卡对应的版本,并解压缩后启动instant-ngp.exe来使用Instant NGP的交互式GUI。
如果您想在Linux上编译和运行Instant NGP,您可以使用以下命令克隆instant-ngp的GitHub存储库:git clone --recursive https://github.com/NVlabs/instant-ngp.git。
另外,Instant NGP的GUI是可关闭的。您可以使用./instant-ngp --no-gui或python scripts/run.py命令来关闭GUI。您还可以通过使用cmake -DNGP_BUILD_WITH_GUI=off ...来在编译时禁用GUI。
参考资料:
英伟达实验室开源的instant-ngp全称为Instant Neural Graphics Primitives,源码地址为https://github.com/NVlabs/instant-ngp,可用于快速的训练NeRF模型,论文名为:Instant Neural Graphics Primitives with a Multiresolution Hash Encoding, 项目主页为: https://nvlabs.github.io/instant-ngp/。支持在windows和linux上进行编译运行。
1.clone instant-ngp: git clone --recursive https://github.com/NVlabs/instant-ngp.git。
gui是可关闭的:Use ./instant-ngp --no-gui or python scripts/run.py. You can also compile without GUI via cmake -DNGP_BUILD_WITH_GUI=off ...。
阅读全文