复现波恩大学的“LiDiff:基于扩散模型实现3D LiDAR场景补全!”(点云补全)项目

本文的主要工作就是复现下述论文中的算法。

该论文全称:Scaling Diffusion Models to Real-World 3D LiDAR Scene Completion

一、准备工作

首先通读readme.md文件的内容,了解所需要的相关依赖和数据等内容。

一定要多读几遍,不要扫一眼就过了。

接下来就是部署环境,而在这里需要特别注意的是该项目的环境是在Linux中部署运行的

由于我电脑内存不够的原因,我在这里使用的是AutoDL上面的算力,它默认的就是Linux环境。至于AutoDL怎么用,可以去官网看帮助文档。

如果你嫌配置环境过于麻烦,可以后台私信我,我这边直接把AutoDL上的环境的镜像免费共享给你。

我的环境:

PyTorch:1.9.0 ;Cuda :11.1(可以在AutoDL上选择镜像时直接选择)

Python  3.8(ubuntu18.04) ;GPU:RTX 3090(24GB) * 1

论文作者用的GPU是:4块RTX A6000 (48GB)

因为当你在AutoDL上用多块GPU训练模型时,就会报错让你修改limit_val_batches的值(但是经过我的实验,一般使用四块以下是不需要修改的)而我怕修改这个值之后会破坏最终的结果,所以我在这里就只用一块GPU来跑这个代码了,主要也省钱。

二、环境部署

这边不建议直接运行pip install -r requirements.txt命令,因为你运行也是各种报错

当你使用AutoDL上的镜像时,pytorch1.9是已经给你配好的。如果你自己想用conda创建一个虚拟环境来装pytorch1.9的话也可以。这样的话就是比较废内存。不管你怎么装pyorch1.9,当你安装requirements.txt中的pytorch_lightningopen3d库时,有时候都会给你重装pytorch库,而且是最新版的pytorch2.3.1,所以我在这里建议不管你是使用AutoDL还是自己的Linux环境,配置好python环境后直接就是先装这两个库。(总结一句话就是,创建好python虚拟环境后先安装这两个库,安装完成后再安pytorch库,如果用AutoDL上已经装好pytorch库的镜像,也是这样做)

安装好pytorch_lightning和open3d库后,使用以下命令检验pytorch版本。

pip show torch#或者直接conda list 看

如果不是pytorch1.9版本的话,直接卸载这个库

pip uninstall torch==具体的版本号

然后再运行pip show torch来检查torch版本,如果显示找不到torch的话,就运行下述命令即可安装对应于CUDA11.1的pytorch 1.9版本

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

接下来就是安装hdbscan==0.8.28这个库,在安装这个版本的库时,会出现一大堆问题,我的解决办法是安装了0.8.31这个版本,能用,而且不会把报错。

然后安装pytorch3d这个库。直接pip是安装不上的,这边选择本地克隆的方法安装。你也可以选择其它的安装方式,但是都容易报错。

sudo apt-get updatesudo apt install build-essential python3-dev libopenblas-dev# 上面两个命令不运行可能会报错,反正后面都得运行,你还是早早运行吧。git clone https://github.com/facebookresearch/pytorch3d.gitcd pytorch3dgit checkout v0.7.1   #指定版本python setup.py install     #或者运行 pip install -e

安装成功后可以conda list查看。

接下来安装MinkowskiEngine库,MinkowskiEngine库的最新版本就是0.5.4版本,所以直接安装。这边也是选择本地克隆安装,你也可以选择其它的安装方式,但是都容易报错。

git clone https://github.com/NVIDIA/MinkowskiEngine.gitcd MinkowskiEnginepython setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas

最后就是安装剩余的requests.txt文件里面的库了。

需要注意的是,这边有一个隐藏的库,运行代码时没有这个库会报错,而且还要与pytorch库和pytorch_lightning库版本匹配。所以安装好requests.txt文件里面的库和MinkowskiEngine库后,还需要安装这个库。

pip install torchmetrics ==1.1.2

这个库会不会重装pytorch我忘记了,应该是不会的。

至此,环境部署结束。

三、准备数据

在AutoDL中的autodl-pub文件夹中有SemanticKITTI数据集,所以我这边直接就使用了这里面的数据。

数据你放在哪里是不影响你运行这个项目的,这边直接解压到autodl-tmp文件夹的某个里面就可以,你可以根据自己的需求自己改一改。

其中00文件夹到10文件夹数据长这样

11文件夹到21文件夹长这样

至此数据准备完毕。

结语

感兴趣的小伙伴可以评论区留言或者私信我

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

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

相关文章

[Linux安全运维] LAMP 环境搭建保姆级教学(Apache + MySQL + PHP) ~~

LAMP LAMP 是一种网站技术,可以实现动态的网站页面部署。 1. LAMP概述 1 .1构成 Linux: 简介: Linux 是一种开源的操作系统,以其稳定性和安全性而著称。在 LAMP 堆栈中,它作为服务器操作系统运行。作用: 为应用程序提供一个稳定、安全的运…

【linux】在多核CPU下,好像看到不同进程在不同CPU调度

在2353这行打印的情况来看,操作系统好像给不同的进程分配不同的CPU,从上图来看,同一个进程好像基本使用的相同的CPU: 其实摸索syscall文件系统操作,本意是想找到内核文件系统中文件的创建,写入,…

3DMAX神经网络插件Neuron使用方法详解

3DMAX神经网络插件Neuron使用方法 3DMAX神经网络插件Neuron,从一系列样条曲线创建具有分支结构的几何体。适用于如神经网络、血管、树枝等形状的3D建模。 【适用版本】 3dMax2016及更高(不仅限于此范围) 【安装方法】 Neuron插件无需安装&a…

windows 暂停更新

使用windows 系统的伙伴都深受其扰,动不动就要强制更新,并且无法长时间关闭更新。这里推荐一个工具来禁止更新。越来越多的工程师可能会逐渐放弃windows ,真的太冗杂了,linux 的桌面和命令行越来越好用。 下载地址 https://github.com/WereD…

Renesa Version Board开发RT-Thread 之I2C驱动应用(SHT20)

目录 概述 1 硬件接口介绍 1.1 Version Board上的I2C硬件接口 1.2 SHT20 1.2.1 SHT20简介 1.2.2 SHT-20模块电路 2 软件实现 2.1 软件版本信息 2.2 RT-Thread Studio创建项目 2.3 FSP配置I2C接口 2.4 使能Sensor驱动 3 RT-Thread驱动架构 3.1 接口函数 3.1.1 …

增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?

1 概念 在持续学习领域,Task incremental、Domain incremental、Class incremental 是三种主要的学习模式,它们分别关注不同类型的任务序列和数据分布变化。 1.1 Task Incremental Learning (Task-incremental) 任务增量学习,也称为任务增…

spring 中包自动扫描之 component-scan 解析

在 spring 中&#xff0c;为简化 bean 的配置&#xff0c;在 spring-context 模块下提供了包的自动扫描功能&#xff0c;将配置的包及其子包下的所有符合条件的类都注册到 BeanFactory 中。下面来看下具体是怎么实现的。 配置 <context:component-scan base-package"…

.NET 一款获取主流浏览器存储密码的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

27.jdk源码阅读之ConcurrentLinkedDeque

1. 写在前面 ConcurrentLinkedDeque 是 Java 中一个高效、线程安全的双端队列&#xff08;Deque&#xff09;&#xff0c;使用无锁算法&#xff08;CAS 操作&#xff09;来保证线程安全性。由于其复杂的实现和广泛的应用场景&#xff0c;它常常成为面试中的重点考察对象。不知道…

【C++题解】1069. 字符图形5-星号梯形

问题&#xff1a;1069. 字符图形5-星号梯形 类型&#xff1a;嵌套循环、图形输出 题目描述&#xff1a; 打印字符图形。 输入&#xff1a; 一个整数&#xff08; 0<n<10 &#xff09;。 输出&#xff1a; 一个字符图形。 样例&#xff1a; 输入&#xff1a; 3输…

C#体检系统源码,医院健康体检系统PEIS,C#+VS2016+SQLSERVER

体检中心/医院体检科PEIS系统源码&#xff0c;C#健康体检信息系统源码&#xff0c;PEIS源码 开发环境&#xff1a;C/S架构C#VS2016SQLSERVER 2008 检前&#xff1a; 多种预约方式网站预约、电话预约、微信平台预约及检前沟通&#xff0c;提前制作套餐&#xff0c;客人到达体检…

机器学习(二十三):决策树和决策树学习过程

一、决策树 下面是数据集&#xff0c;输入特征是耳朵形状、脸形状、是否有胡子&#xff0c;输出结果是是否为猫 下图是决策树&#xff0c;根据耳朵形状、脸形状、是否有胡子这几个特征&#xff0c;建立决策树&#xff0c;从根节点一步步预测结果。 上图中&#xff0c;每一个椭…

wkt格式文件详解(包含应用示例)

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

揭秘CISA:不只是证书,更是信息安全领域的国际通行证

CISA&#xff08;Certified Information Systems Auditor&#xff09;&#xff0c;即国际注册信息系统审计师&#xff0c;是信息系统审计、控制与安全等专业领域中备受认可的认证。它不仅是一张证书&#xff0c;更是信息安全领域的国际通行证。以下是对CISA的全面揭秘&#xff…

Apollo:目录分析, test ok

apollo: Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 - Gitee.comhttps://github.com/ApolloAuto/apolloapollo 目录名称目录作用cyber消息中间件,替换ros作为消息层…

Vscode报错:line too long (84 > 79 characters)

原因&#xff1a;不允许一行超过79个字母&#xff0c;但是该行代码超出该范围。 参考博客&#xff1a;解决Vs CodeFlake8 报错line too long (108 &#xff1e; 79 characters)Flake8(E501)_flake8 line too long-CSDN博客

Javascript前端面试基础(八)

window.onload和$(document).ready区别 window.onload()方法是必须等到页面内包括图片的所有元素加载完毕后才能执行$(document).ready()是DOM结构绘制完毕后就执行&#xff0c;不必等到加载完毕 window.onload 触发时机&#xff1a;window.onload 事件会在整个页面&#xf…

微服务面试-分布式 注册中心 远程调用 保护

标红的原理还是不太熟悉 重新看 分布式事务 CAP理论 Consistency&#xff08;一致性&#xff09; Availability&#xff08;可用性&#xff09; Partition tolerance &#xff08;分区容错性&#xff09; BASE 理论 就是做取舍 cap三选二 AT模式脏写 TCC模式 注册中…

2024年7月29日(web nginx)

web 一、web基本概念和常识 Web:为用户提供的一种在互联网上浏览信息的服务,Web服务是动态的、可交互的、跨平台的和图形化的。 Web 服务为用户提供各种互联网服务,这些服务包括信息浏览服务,以及各种交互式服务,包括聊天、购物、学习等等内容。 Web 应用开发也经过了几代技术…

MySQL 执行计划详解

文章目录 一. 概念二. 语法三. 详解各字段1. id2. select_type3. table4. partitions5. type6. possible_keys与key7. key_len8. ref9. rows10. filtered11. Extra 一. 概念 有了慢查询后&#xff0c;需要对慢查询语句进行分析。一条查询语句经过MySQL查询优化器后&#xff0c…