深度学习-服务器训练SparseDrive过程记录

news/2025/3/16 16:13:36/

1、cuda安装
1.1 卸载安装失败的cuda
参考:https://blog.csdn.net/weixin_40826634/article/details/127493809
注意:因为/usr/local/cuda-xx.x/bin/下没有卸载脚本,很可能是apt安装的,所以通过执行下面的命令删除:

apt-get --purge remove "cuda*"
apt-get autoremove

然后执行find / -name “cuda”,查看是否还有残留的cuda相关文件,比如/etc/alternatives/cuda-12还存在,则执行下面的命令:

rm /etc/alternatives/cuda-12

1.2 安装cuda及cudnn
参考:https://blog.csdn.net/weixin_40826634/article/details/127493809
注意

  • 服务器显卡驱动支持的cuda最高版本是12.4,SparseDrive官方教程依赖的cuda运行时版本是11.6,因为运行时版本只要小于最高版本即可,所以这里安装的是cuda-11.6。
  • 安装完cuda后,发现/usr/local/cuda-11.6/samples路径下没有测试用例,从官网使用命令git clone https://github.com/NVIDIA/cuda-samples.git拉取了测试用例仓库,验证cuda成功安装。
  • cudnn减压后的文件夹名为cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive,和参考文档里减压后的文件夹cuda是对应的,只不过这里是cuda11.6对应的cudnn,参考文档里是cuda10.0对应的cudnn。
    在这里插入图片描述

2、数据集准备
数据集的目录:
nuSenses/
├── can_bus
├── maps
│ ├── 36092f0b03a857c6a3403e25b4b7aab3.png
│ ├── 37819e65e09e5547b8a3ceaefba56bb2.png
│ ├── 53992ee3023e5494b90c316c183be829.png
│ ├── 93406b464a165eaba6d9de76ca09f5da.png
│ ├── basemap
│ ├── expansion
│ └── prediction
├── samples
│ ├── CAM_BACK
│ ├── CAM_BACK_LEFT
│ ├── CAM_BACK_RIGHT
│ ├── CAM_FRONT
│ ├── CAM_FRONT_LEFT
│ ├── CAM_FRONT_RIGHT
│ ├── LIDAR_TOP
│ ├── RADAR_BACK_LEFT
│ ├── RADAR_BACK_RIGHT
│ ├── RADAR_FRONT
│ ├── RADAR_FRONT_LEFT
│ └── RADAR_FRONT_RIGHT
├── sweeps
│ ├── CAM_BACK
│ ├── CAM_BACK_LEFT
│ ├── CAM_BACK_RIGHT
│ ├── CAM_FRONT
│ ├── CAM_FRONT_LEFT
│ ├── CAM_FRONT_RIGHT
│ ├── LIDAR_TOP
│ ├── RADAR_BACK_LEFT
│ ├── RADAR_BACK_RIGHT
│ ├── RADAR_FRONT
│ ├── RADAR_FRONT_LEFT
│ └── RADAR_FRONT_RIGHT
└── v1.0-trainval
├── attribute.json
├── calibrated_sensor.json
├── category.json
├── ego_pose.json
├── instance.json
├── log.json
├── map.json
├── sample.json
├── sample_annotation.json
├── sample_data.json
├── scene.json
├── sensor.json
└── visibility.json
注意:要将nuScenes-map-expansion-v1.3中的basemap、expansion、prediction拷贝到maps下。
3、SparseDrive训练
完全按照官网的教程进行部署,训练脚本不需要修改,就是两步,执行训练脚本遇到如下的问题:
在这里插入图片描述
排查是因为共享空间不足![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c388ef7294314b3abef5321d227a6a97.png在这里插入图片描述
执行以下两条命令,申请了8G的共享内存,并把batch_size从64改成32后,程序可以正常训练:

卸载默认的 /dev/shm
umount /dev/shm
#挂载更大的内存文件系统(例如8g)
mount -t tmpfs -o size=8g tmpfs /dev/shm

4、使用screen在服务器后台运行程序
用ssh远程的服务器终端只要关闭该终端,训练程序也会中断,是因为虽然ssh的终端是在本地电脑上显示的,但是其实是服务器端的终端,所以关掉ssh的终端,就是关掉了服务器的终端,在终端上运行的程序就会中断,通过使用screen就可以让程序在后台运行,即使关掉终端,程序仍然会在后台运行。
screen常用命令:

screen -S sparsedrive #创建一个名字为sparsedrive的会话按ctrl+a后再按d,退出会话screen -r sparsedrive #重新进入会话screen -ls #查看所有会话

在这里插入图片描述

screen -X -S 27444 quit 删除会话

5、报显存不足的解决方法
在训练时,如果发现显存不足,用htop查看未释放显存的进程,如果存在程序已经结束,但是显存还没释放的进程,则用下面的命令强制杀死这些进程:

kill -9 <进程id>

然后,用nvidia-smi查看,会发现素所有gpu的util都是0了,即显存都被释放了。


http://www.ppmy.cn/news/1579602.html

相关文章

浙江大学:《DeepSeek智能时代的全面到来和人机协作的新常态》

大家好&#xff0c;我是吾鳴。 吾鳴之前给大家分享过浙江大学出品的DeepSeek的三份报告&#xff0c;它们分别是&#xff1a; 《DeepSeek行业应用案例集-解锁智能变革密码》 《DeepSeek模型解读》 《Chatting or Acting&#xff1f;DeepSeek的突破边界与浙大先生的未来图景》…

IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力

在现代工业生产和物流领域&#xff0c;物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时&#xff0c;常常存在适应性差、抓取不稳定、操作复杂等问题&#xff0c;导致生产流程中频繁出现停机调整&#xff0c;增加了人工干预成…

机器人ROS学习:Ubuntu22.04安装ROS2和Moveit2实现运动规划

通过本篇文章学习&#xff0c;你可以收获以下内容&#xff1a; 学会在 Ubuntu22.04 上安装 Moveit2学会下载编译运行 Moveit2 样例程序学会使用样例程序进行运动规划等 版本平台 系统版本&#xff1a;ubuntu22.04ROS2 版本&#xff1a;humbleMoveit 版本&#xff1a;moveit2…

2025 linux系统资源使用率统计docker容器使用率统计docker监控软件Weave Scope安装weavescope

1.Weave Scope介绍 Weave Scope 是一款用于监控和可视化 Docker 容器、Kubernetes 集群以及分布式应用的强大工具。它的设计目标是帮助开发者和运维人员更好地理解和管理复杂的微服务架构。以下是 Weave Scope 的主要优点&#xff1a; 1. 实时可视化 Weave Scope 提供了一个直…

Mybatis——基础操作、动态SQL

目录 一.基础操作 1.删除 2.新增 3.更新 4.查询 5.XML映射文件 二、动态SQL 1.<if> 2.<where> 3.<set> 4.<foreach> 5.<sql> 6.<include> 一.基础操作 1.删除 参数占位符&#xff1a; 注意&#xff1a; #{...}相比于${...}…

向量数据库全景概览:100+解决方案分类解析

随着AI技术的快速发展&#xff0c;向量数据库已成为处理高维数据、支持相似性搜索的核心基础设施。本文将对当前主流的100向量数据库/存储方案进行分类解析&#xff0c;为技术选型提供全景式参考。 一、内存与轻量级存储 适用于开发测试、小规模数据或嵌入式场景 InMemoryVect…

基于Spring Boot的航司互售系统

文章目录 项目介绍项目截图项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f34…

Caffeine 缓存:简介、优势及应用场景

Caffeine 缓存&#xff1a;简介、优势及应用场景 前言一、Caffeine 缓存简介1. Caffeine 的核心特性2. 为什么选择 Caffeine 而不是其他缓存库&#xff1f; 二、Caffeine 适用的场景1. 高并发请求缓存2. 数据库查询缓存3. 复杂计算结果缓存 三、Caffeine 的优势1. 性能优化2. 内…