深度學習-服務器訓練SparseDrive過程記錄

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.pswp.cn/web/72336.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72336.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72336.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

洛谷每日1題-------Day20__P1401 [入門賽 #18] 禁止在 int 乘 int 時不開 long long

題目描述 在比賽中&#xff0c;根據數據范圍&#xff0c;分析清楚變量的取值范圍&#xff0c;是非常重要的。int 類型變量與 int 類型變量相乘&#xff0c;往往可能超出 int 類型可以表示的取值范圍。 現在&#xff0c;給出兩個 int 類型變量 x,y 及其取值范圍&#xff0c;請…

3.15刷題

P6337 [COCI 2007/2008 #2] CRNE - 洛谷 #include<bits/stdc.h> using namespace std; int main(){int n;cin>>n;//橫加豎 最大。n/2,n/21if(n%20){cout<<(n/21)*(n/21);}else cout<<(n/22)*(n/21);return 0; }P6338 [COCI 2007/2008 #2] PRVA - 洛…

Browser Copilot 開源瀏覽器擴展,使用現有或定制的 AI 助手來完成日常 Web 應用程序任務。

一、軟件介紹 文末提供源碼和開源擴展程序下載 Browser Copilot 是一個開源瀏覽器擴展&#xff0c;允許您使用現有或定制的 AI 助手來幫助您完成日常 Web 應用程序任務。 目標是提供多功能的 UI 和簡單的框架&#xff0c;以實現和使用越來越多的 copilots&#xff08;AI 助手&…

selenium等待

通常代碼執行的速度?頁?渲染的速度要快,如果避免因為渲染過慢出現的?動化誤報的問題呢?可以使?selenium中提供的三種等待?法: 1. 隱式等待(Implicit Wait) 隱式等待適用于全局,它告訴 WebDriver 在查找元素時等待一定的時間,直到元素出現。 如果超時,WebDriver 不…

解鎖C++:指針與數組、字符串的深度探秘

目錄 一、指針與數組:親密無間的伙伴 1.1 指針是數組的 “快捷通道” 1.2 數組名與指針:微妙的差別 1.3 動態數組:指針大顯身手 二、指針與字符串:千絲萬縷的聯系 2.1 字符指針與 C 風格字符串 2.2 指針與 std::string 類 2.3 字符串常量與指針 三、指針在數組和字…

20250315-OpenAI-AgentSDK實驗

湊熱鬧。可以用GLM跑。 這里暫時用GLM底座“魔鬼修改”&#xff0c;代碼庫僅供參考&#xff08;共同進步吧&#xff09; openai-agents-python-glm: 基于GLM底座運行SDK&#xff0c;學習實驗SDK內的mAGT功能。https://gitee.com/leomk2004/openai-agents-python-glm 自言自語&a…

Qt QML實現彈球消磚塊小游戲

前言 彈球消磚塊游戲想必大家都玩過&#xff0c;很簡單的小游戲&#xff0c;通過移動擋板反彈下落的小球&#xff0c;然后撞擊磚塊將其消除。本文使用QML來簡單實現這個小游戲。 效果圖&#xff1a; 正文 代碼目錄結構如下&#xff1a; 首先是小球部分&#xff0c;邏輯比較麻…

04_Linux驅動_05_pinctrl子系統

以下代碼都在pinctrl相關的驅動函數和設備樹中 pinctrl-rockchip.c驅動&#xff0c;對應的是那個&#xff08;那些&#xff09;設備樹呢&#xff1f; 答案&#xff1a;通過.compatible "rockchip,rk3568-pinctrl"連接到rk3568.dtsi根節點下的pinctrl節點 一&#…

Python的那些事第四十五篇:繼承自Nose的測試框架Nose2

Nose2:繼承自Nose的測試框架 摘要 本文深入探討了Nose2這一繼承自Nose的測試框架。在軟件開發過程中,測試是確保代碼質量和穩定性的重要環節,而測試框架為測試工作的開展提供了有力支持。Nose2作為Nose的繼承者,在保留Nose優勢的基礎上進行了諸多改進和擴展,為Python測試…

如何通過 Airbyte 將數據攝取到 Elasticsearch

作者&#xff1a;來自 Elastic Andre Luiz Airbyte 是一個數據集成工具&#xff0c;可自動化并可擴展地將信息從各種來源傳輸到不同的目的地。它使你能夠從 API、數據庫和其他系統提取數據&#xff0c;并將其加載到 Elasticsearch 等平臺&#xff0c;以實現高級搜索和高效分析。…

RBAC 模型的簡單實現

RBAC 模型基本介紹 RBAC&#xff08;Role-Based Access Control&#xff0c;基于角色的訪問控制&#xff09;是一種廣泛應用的權限管理模型。它的核心思想是通過角色來管理權限&#xff0c;而不是直接分配權限給用戶。用戶被賦予一個或多個角色&#xff0c;而每個角色擁有不同…

數據結構---堆棧和列

一、堆棧 1.棧堆&#xff1a;具有一定操作約束的線性表&#xff1b;&#xff08;只在一端做插入刪除&#xff09; 2.棧的順序存儲結構&#xff1a; 由一個一維數組和一個記錄棧頂元素位置的變量組成。定義方式如下&#xff1a; 3.入棧操作&#xff1a; 注意&#xff1a;&…

2023 年全國職業院校技能大賽(中職組)移動應用與開發賽項 賽題第十套

2023 年全國職業院校技能大賽&#xff08;中職組&#xff09;移動應用與開發賽項 賽題第十套&#xff09; 移動應用與開發賽項競賽模塊 A&#xff1a;移動應用界面設計任務 1 環保中心界面設計&#xff08;7.5 分&#xff09;任務 2&#xff1a;首頁界面設計&#xff08;7.5 分…

FPGA為何要盡量減少組合邏輯的使用

在FPGA設計中&#xff0c;組合邏輯的使用確實需要謹慎&#xff0c;尤其是要盡量減少它的復雜性。這并不是因為組合邏輯本身不好&#xff0c;而是因為它在實際應用中容易引發一系列問題&#xff0c;而這些問題往往與FPGA的設計哲學和硬件特性相沖突。讓我從幾個關鍵點來和你聊聊…

c語言筆記 字符串函數---strcmp,strncmp,strchr,strrchr

目錄 函數strcmp與strncmp 以下是錯誤的示范&#xff1a;兩個指針字符型的指針不能直接進行比較 函數strchr與函數strrchr 函數strchr與函數strrchr與strstr函數三者對比 背景&#xff1a;如果說我們要比較兩個字符串是否相等&#xff0c;使用strcmp或者strncmp函數。在c語言中…

合React寶寶體質的自定義節流hook

本文為開發開源項目的真實開發經歷&#xff0c;感興趣的可以來給我的項目點個star&#xff0c;謝謝啦~ 具體博文介紹&#xff1a; 開源&#xff5c;Documind協同文檔&#xff08;接入deepseek-r1、支持實時聊天&#xff09;Documind &#x1f680; 一個支持實時聊天和接入 - 掘…

【RTSP】客戶端(五)H264 265處理邏輯

H264處理邏輯 整體邏輯分析 實現邏輯 解析 RTP 包頭&#xff1a;首先檢查 RTP 頭部的有效負載類型&#xff08;payloadType&#xff09;是否匹配處理擴展頭&#xff1a;如果 RTP 包包含擴展頭&#xff0c;跳過擴展頭部分&#xff0c;獲取有效負載處理分片數據&#xff1a;H264…

IDEA集成git,項目的克隆,遠程倉庫中文件的添加刪除

目錄 一、克隆項目 二、使用IDEA完成文件的上傳和刪除 1.配置git 2.上傳 3.刪除&#xff08;通過git bash&#xff09; 一、克隆項目 點擊克隆&#xff0c;復制url &#xff0c;如下 打開你想要克隆到哪里&#xff0c;右擊&#xff0c;選擇 open Git Bash here 這一步之后…

神經網絡:定義與核心原理

神經網絡&#xff08;Artificial Neural Network, ANN&#xff09;是一種受生物神經系統啟發的計算模型&#xff0c;旨在通過模擬神經元之間的連接與信息傳遞機制&#xff0c;實現復雜的數據處理和模式識別功能。其本質是由大量簡單處理單元&#xff08;神經元&#xff09;構成…