如何Ubuntu 22.04.5 LTS 64 位 操作系統部署運行SLAM3! 詳細流程

以下是在本地部署運行?ORB-SLAM3?的詳細步驟,基于官方?README.md?和最佳實踐整理,適用于?Ubuntu 16.04/18.04/20.04/22.04?系統:

一、系統要求與依賴項安裝

1.?基礎系統要求
  • 操作系統:Ubuntu 16.04/18.04/20.04/22.04(64 位)
  • 硬件:推薦 i7 及以上處理器(確保實時性能),支持 OpenGL 的顯卡(用于 Pangolin 可視化)
2.?安裝依賴項
# 安裝基礎工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git libgl1-mesa-glx# 安裝Eigen3(線性代數庫)
sudo apt install libeigen3-dev# 安裝Python(用于軌跡評估,需numpy)
sudo apt install python3-numpy libpython3-dev# 安裝OpenCV(3.2+,推薦4.x,22.04默認4.6.0+)
sudo apt install libopencv-dev python3-opencv# 安裝Pangolin(可視化庫)
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install
cd .. && rm -rf Pangolin  # 清理臨時文件

?3.?可選:安裝 ROS(如需運行 ROS 節點)

Ubuntu 18.04 (Melodic)

sudo apt install ros-melodic-desktop-full
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Ubuntu 22.04 (Humble)

sudo apt install ros-humble-desktop
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

這里因為考慮到很多安裝SLAM3的朋友在本地都沒有安裝ROS2,所以這里更新一篇ROS2的安裝教學。

報錯解決:

這里我在運行:cmake .. -DCMAKE_BUILD_TYPE=Release的時候出現問題:

ZERO:/media/chengq/soft/Dev_soft/Slam3/Pangolin/build$ cmake .. -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- libpng Found and Enabled
-- libjpeg Found and Enabled
-- libtiff Found and Enabled
-- libopenexr Found and Enabled
-- Found Eigen: '/usr/include/eigen3'
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_egl_LIBRARYOPENGL_INCLUDE_DIR OpenGL EGL)
Call Stack (most recent call first):/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)/usr/share/cmake-3.22/Modules/FindOpenGL.cmake:443 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)components/pango_opengl/CMakeLists.txt:49 (find_package)CMakeLists.txt:124 (include)-- Configuring incomplete, errors occurred!
See also "/media/chengq/soft/Dev_soft/Slam3/Pangolin/build/CMakeFiles/CMakeOutput.log".
chengq@chengq-ZERO:/media/chengq/soft/Dev_soft/Slam3/Pangolin/build$ cmake .. -DCMAKE_BUILD_TYPE=Release
-- libpng Found and Enabled
-- libjpeg Found and Enabled
-- libtiff Found and Enabled
-- libopenexr Found and Enabled
-- Found Eigen: '/usr/include/eigen3'
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_egl_LIBRARYOPENGL_INCLUDE_DIR OpenGL EGL)
Call Stack (most recent call first):/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)/usr/share/cmake-3.22/Modules/FindOpenGL.cmake:443 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)components/pango_opengl/CMakeLists.txt:49 (find_package)CMakeLists.txt:124 (include)-- Configuring incomplete, errors occurred!
See also "/media/chengq/soft/Dev_soft/Slam3/Pangolin/build/CMakeFiles/CMakeOutput.log".

這個問題是由于缺少?OpenGL 開發庫?導致的編譯錯誤。以下是針對 Ubuntu 22.04 的解決步驟:

一、安裝 OpenGL 開發庫

sudo apt install -y libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev
  • libgl1-mesa-dev:提供 OpenGL 核心開發庫(必裝)。
  • libglu1-mesa-dev:提供 OpenGL 實用庫(GLU)。
  • libegl1-mesa-dev:提供 EGL(Embedded Systems Graphics Library)開發庫(Pangolin 可能依賴)。

二、安裝 epoxy 開發庫

sudo apt install -y libepoxy-dev
  • libepoxy-dev?包含 epoxy 的頭文件和庫文件,是 Pangolin 可視化模塊的依賴項。

三、重新編譯 Pangolin

# 清理之前的構建文件(可選)
cd .. && rm -rf build
mkdir build && cd build# 重新執行 CMake 配置
cmake .. -DCMAKE_BUILD_TYPE=Release

四、繼續編譯并安裝

make -j$(nproc)  # 使用多核編譯(加快速度)
sudo make install  # 安裝到系統路徑

二、克隆項目與構建

1.?克隆代碼倉庫
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
cd ORB_SLAM3
2.?編譯項目
chmod +x build.sh
./build.sh  # 自動編譯第三方庫(DBoW2、g2o、Sophus)和ORB-SLAM3
  • 編譯完成后,生成動態庫?libORB_SLAM3.so?和可執行文件(位于?Examples?目錄)。
3.?編譯 ROS 節點(可選)
chmod +x build_ros.sh
./build_ros.sh  # 生成ROS節點,需已安裝ROS

報錯解決:

在執行 ./build.sh ?# 自動編譯第三方庫(DBoW2、g2o、Sophus)和ORB-SLAM3?
編譯的時候又出現錯誤: 執行到30% 左右無法編譯。
報錯:

/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/LoopClosing.cc: In member function ‘void ORB_SLAM3::LoopClosing::SearchAndFuse(const std::vector<ORB_SLAM3::KeyFrame*>&, std::vector<ORB_SLAM3::MapPoint*>&)’:/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/LoopClosing.cc:2161:9: warning: unused variable ‘total_replaces’ [-Wunused-variable]2161 |? ? ?int total_replaces = 0;|? ? ? ? ?^~~~~~~~~~~~~~/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/Tracking.cc: In member function ‘void ORB_SLAM3::Tracking::Track()’:/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/Tracking.cc:2167:96: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare]2167 |? ? ? ? ?if((mCurrentFrame.mnId<(mnLastRelocFrameId+mnFramesToResetIMU)) && (mCurrentFrame.mnId > mnFramesToResetIMU) &&|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/Tracking.cc: In member function ‘void ORB_SLAM3::Tracking::SearchLocalPoints()’:/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/Tracking.cc:3413:13: warning: unused variable ‘matches’ [-Wunused-variable]3413 |? ? ? ? ?int matches = matcher.SearchByProjection(mCurrentFrame, mvpLocalMapPoints, th, mpLocalMapper->mbFarPoints, mpLocalMapper->mThFarPoints);|? ? ? ? ? ? ?^~~~~~~/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/Tracking.cc: In member function ‘void ORB_SLAM3::Tracking::UpdateFrameIMU(float, const ORB_SLAM3::IMU::Bias&, ORB_SLAM3::KeyFrame*)’:/media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3/src/Tracking.cc:3983:18: warning: unused variable ‘index’ [-Wunused-variable]3983 |? ? ?unsigned int index = mnFirstFrameId;|? ? ? ? ? ? ? ? ? ^~~~~make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:76:CMakeFiles/ORB_SLAM3.dir/src/System.cc.o] 錯誤 1make[2]: *** 正在等待未完成的任務....make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:104:CMakeFiles/ORB_SLAM3.dir/src/LocalMapping.cc.o] 錯誤 1make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:118:CMakeFiles/ORB_SLAM3.dir/src/LoopClosing.cc.o] 錯誤 1make[2]: *** [CMakeFiles/ORB_SLAM3.dir/build.make:90:CMakeFiles/ORB_SLAM3.dir/src/Tracking.cc.o] 錯誤 1make[1]: *** [CMakeFiles/Makefile2:148:CMakeFiles/ORB_SLAM3.dir/all] 錯誤 2make: *** [Makefile:91:all] 錯誤 2

解決:

原因分析:

ORB-SLAM3 是一個相對較早的項目,主要基于 C++11 標準編寫。在較新的 Ubuntu 版本(如 20.04 或 22.04)中,默認的 GCC/G++ 編譯器版本比較高(通常是 GCC 9+ 或 GCC 11+),這些新版本的編譯器默認使用的是 C++14 或 C++17 標準,并且對 C++語法和標準庫的使用要求更嚴格。這常常會導致一些在 C++11 下沒問題,但在 C++14/17 下會報錯(或被視為錯誤)的代碼。這是 ORB-SLAM3 在新系統上編譯時非常常見的問題。

解決方案:

最常見的解決辦法是告訴 CMake 在編譯 ORB-SLAM3 時使用 C++11 標準進行編譯。

  1. 修改 CMakeLists.txt 文件:

    • 進入 ORB_SLAM3 的根目錄:cd /media/chengq/soft/Dev_soft/Slam3/ORB_SLAM3 (根據你的實際路徑)
    • 打開根目錄下的 CMakeLists.txt 文件進行編輯(可以使用 gedit, nano, vim 等編輯器): Bash
      gedit CMakeLists.txt
      # 或者
      nano CMakeLists.txt
      
    • 在文件的開頭部分,通常在 cmake_minimum_required(...) 后面,添加或找到并修改以下行: CMake
      set(CMAKE_CXX_STANDARD 11)
      set(CMAKE_CXX_STANDARD_REQUIRED ON)
      
      如果已經有 set(CMAKE_CXX_STANDARD ...) 的行,確保它被設置為 11。如果這兩行不存在,就直接添加到文件開頭合適的位置(比如在 project(...) 之前或之后)。
  2. 清理之前的構建文件:

    • 由于 CMake 會緩存配置,在修改 CMakeLists.txt 后,需要清理之前失敗的構建嘗試生成的文件。進入 build 目錄并刪除所有內容: Bash
      cd build
      rm -rf *
      cd .. # 回到ORB_SLAM3根目錄
      
    • 或者直接刪除并重新創建 build 目錄: Bash
      rm -rf build
      mkdir build
      
    • 重要提示: ORB-SLAM3 的 ./build.sh 腳本理論上應該處理 CMake 的配置和構建,但手動清理 build 目錄能確保 CMake 從頭開始配置,讀取你修改后的 CMakeLists.txt
  3. 重新運行編譯腳本:

    • 回到 ORB_SLAM3 的根目錄,再次執行編譯腳本: Bash
      ./build.sh

三、準備數據集與配置文件

1.?下載示例數據集
  • TUM RGB-D 數據集(用于 RGB-D 相機示例):
    從?TUM RGB-D 數據集?下載序列(如?fr1/xyz),解壓后記錄路徑(如?~/datasets/tum/fr1/xyz)。

  • EuRoC 數據集(用于立體 / 慣性示例):
    從?EuRoC 數據集?下載 ASL 格式序列,解壓后修改?euroc_examples.sh?中的數據集路徑。

2.?配置文件說明
  • 詞匯表:已包含在?Vocabulary/ORBvoc.txt(無需額外下載)。
  • 相機參數文件
    • RGB-D 示例:Examples/RGB-D/TUM1.yaml(根據數據集修改分辨率、畸變參數)。
    • 立體 / 慣性示例:Examples/Stereo-Inertial/EuRoC.yaml(包含 IMU 參數和相機內參)。

四、運行示例程序

1.?運行 RGB-D 相機示例(以 TUM fr1/xyz 為例)

bash

# 格式:./Examples/RGB-D/rgbd_tum 詞匯表路徑 配置文件路徑 圖像路徑 關聯文件路徑
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml ~/datasets/tum/fr1/xyz ~/datasets/tum/fr1/xyz/associations.txt
  • 輸出:Pangolin 窗口顯示實時地圖,終端輸出軌跡信息,結果保存在?CameraTrajectory.txt
2.?運行立體慣性示例(EuRoC 數據集)

bash

# 格式:./Examples/Stereo-Inertial/stereo_inertial_euroc 詞匯表路徑 配置文件路徑 數據集路徑
./Examples/Stereo-Inertial/stereo_inertial_euroc Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml ~/datasets/euroc/V1_02_medium

3.?運行 ROS 節點(以單目為例)

bash

# 1. 設置ROS包路徑(需先編輯~/.bashrc,添加以下行并source)
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/path/to/ORB_SLAM3/Examples/ROS# 2. 運行節點(格式:rosrun ORB_SLAM3 Mono 詞匯表路徑 配置文件路徑)
rosrun ORB_SLAM3 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml

五、常見問題與解決方案

1.?編譯錯誤:第三方庫未找到
  • 原因Thirdparty?目錄下的庫(如 g2o)編譯失敗。
  • 解決:手動編譯第三方庫:

    bash

    cd Thirdparty/g2o
    mkdir build && cd build
    cmake .. -DG2O_USE_CSPARSE=ON
    make -j$(nproc)
    cd ../../../
    
2.?OpenCV 版本沖突(如 4.x 兼容性問題)
  • 報錯undefined reference to cv::imread
  • 解決:修改代碼中 OpenCV 函數(如?cv::IMREAD_COLOR?替換為?cv::ImreadModes::IMREAD_COLOR),或確保 CMake 正確鏈接系統 OpenCV 路徑。
3.?Pangolin 窗口無法顯示
  • 原因:OpenGL 依賴缺失或版本不兼容。
  • 解決:安裝 OpenGL 開發庫:

    bash

    sudo apt install libglew-dev libglfw3-dev
    
4.?ROS 話題映射錯誤
  • 原因:話題名稱不匹配(如?/camera/image_raw?應為?/image_raw)。
  • 解決:修改 ROS 節點訂閱的話題名稱,或使用rosbag play重映射話題:

    bash

    rosbag play --remap /cam0/image_raw:=/image_raw dataset.bag
    

六、項目結構與擴展

  • 核心代碼src/?和?include/?包含 SLAM 系統核心邏輯(跟蹤、建圖、回環檢測)。
  • 示例程序Examples/?目錄按傳感器類型分類(RGB-D、立體、慣性等),可參考示例編寫自定義相機接口。
  • 配置文件Examples/?下的.yaml文件定義相機內參、IMU 參數等,需根據實際傳感器校準結果修改(參考Calibration_Tutorial.pdf)。

七、驗證安裝成功

  1. 運行示例后,Pangolin 窗口應顯示 3D 地圖和相機軌跡。
  2. 終端輸出關鍵幀信息、跟蹤狀態(OK/LOST)及統計數據。
  3. 生成的軌跡文件(如CameraTrajectory.txt)可通過工具(如 Evince)查看或與真值對比。

按照以上步驟操作,即可在本地成功部署運行 ORB-SLAM3。如需自定義傳感器(如魚眼相機、自定義 IMU),需根據Calibration_Tutorial.pdf校準參數并修改配置文件,編譯對應的示例程序。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80035.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80035.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80035.shtml

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

相關文章

USB 共享神器 VirtualHere 局域網內遠程使用打印機與掃描儀

本文首發于只抄博客,歡迎點擊原文鏈接了解更多內容。 前言 很久之前,有分享過使用 CUPS 和路由器來實現局域網內共享打印機,但由于 SANE 支持的打印機較少以及掃描驅動的缺失,試了很多種方法都沒有辦法成功遠程使用打印機的掃描功能。 后面偶然發現 VirtualHere 可以曲線…

一洽智能硬件行業解決方案探索與實踐

一、智能硬件行業發展現狀剖析 在數字化浪潮推動下&#xff0c;智能硬件行業呈現蓬勃發展態勢。軟硬件一體化的深度融合&#xff0c;構建起智能化服務的核心架構&#xff0c;而移動應用作為連接用戶與設備的重要橋梁&#xff0c;其作用愈發關鍵。深入研究該行業&#xff0c;可…

【C++ 類和數據抽象】構造函數

目錄 一、構造函數的基本概念 1.1 構造函數核心特性 1.2 構造函數的作用 1.3 構造函數類型體系 二、構造函數的類型 2.1 默認構造函數 2.2 帶參數的構造函數 2.3 拷貝構造函數 2.4 移動構造函數&#xff08;C11 及以后&#xff09; 三、初始化關鍵技術 3.1 成員初始…

圖數據庫nebula測試指南

概述 Nebula是一個開源的分布式圖數據庫系統&#xff0c;專為處理超大規模關聯數據而設計。可以將復雜的關聯關系存在nebula圖數據庫中&#xff0c;提供可視化平臺用于案件關聯查詢及調查。測試的前提是了解nebula圖數據庫&#xff0c;會使用基本的插入語句和查詢語句&#xf…

dispaly: inline-flex 和 display: flex 的區別

display: inline-flex 和 display: flex 都是 CSS 中用于創建彈性盒子布局&#xff08;Flexbox&#xff09;的屬性值&#xff0c;但它們之間有一些關鍵的區別&#xff0c;主要體現在元素如何在頁面上被渲染和它們對周圍元素的影響。 主要區別 1&#xff0c;塊級 vs 行內塊級 d…

Sqlserver安全篇之_Sqlcmd命令使用windows域賬號認證sqlserver遇到問題如何處理的案例

sqlcmd https://learn.microsoft.com/zh-cn/sql/tools/sqlcmd/sqlcmd-connect-database-engine?viewsql-server-ver16 sqlcmd -S指定的數據庫連接字符串必須有對應的有效的SPN信息&#xff0c;否則會報錯SSPI Provider: Server not found in Kerberos database. 正常連接 1、…

電腦硬盤常見的幾種接口類型

一、傳統接口&#xff08;機械硬盤為主&#xff09; 1. SATA 接口&#xff08;Serial ATA&#xff09; 特點&#xff1a; 最主流的機械硬盤&#xff08;HDD&#xff09;接口&#xff0c;廣泛用于臺式機和筆記本電腦。傳輸速度較慢&#xff0c;理論最大帶寬為 6 Gbps&#xff…

【前端HTML生成二維碼——MQ】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 前端HTML生成二維碼——MQ 前言本文將介紹前端HTML如何更具用戶輸入的內容生成對應的二維碼,附頁面代碼、實現函數、js腳本。一、自定義顯示頁面1、效果圖二、使用步驟1、引入庫2、實現函數3、頁面及函數代…

研發效率破局之道閱讀總結(3)工程優化

研發效率破局之道閱讀總結(3)工程優化 Author: Once Day Date: 2025年4月22日 一位熱衷于Linux學習和開發的菜鳥&#xff0c;試圖譜寫一場冒險之旅&#xff0c;也許終點只是一場白日夢… 漫漫長路&#xff0c;有人對你微笑過嘛… 全系列文章可參考專欄: 程序的藝術_Once-Day…

C# MP3 伴奏

使用建議&#xff1a; 參數調節指南&#xff1a; 低頻人聲殘留&#xff1a;降低CenterFrequency(800-1500Hz) 高頻人聲殘留&#xff1a;提高CenterFrequency(2500-3500Hz) 消除力度不足&#xff1a;提高EliminationStrength(0.9-1.0) 伴奏失真&#xff1a;降低EliminationSt…

大模型面經 | 春招、秋招算法面試常考八股文附答案(四)

大家好,我是皮先生!! 今天給大家分享一些關于大模型面試常見的面試題,希望對大家的面試有所幫助。 往期回顧: 大模型面經 | 春招、秋招算法面試常考八股文附答案(RAG專題一) 大模型面經 | 春招、秋招算法面試常考八股文附答案(RAG專題二) 大模型面經 | 春招、秋招算法…

Springboot 集成 RBAC 模型實戰指南

RBAC 模型核心原理 詳情可參考之前的筆記&#xff1a;https://blog.csdn.net/qq_35201802/article/details/146036789?spm1011.2415.3001.5331 RBAC 定義與優勢 RBAC&#xff08;Role-Based Access Control&#xff0c;基于角色的訪問控制&#xff09;** 是一種通過角色關聯…

如何收集用戶白屏/長時間無響應/接口超時問題

想象一下這樣的場景:一位用戶在午休時間打開某電商應用,準備購買一件心儀已久的商品。然而,頁面加載了數秒后依然是一片空白,或者點擊“加入購物車”按鈕后沒有任何反饋,甚至在結算時接口超時導致訂單失敗。用戶的耐心被迅速消耗殆盡,關閉應用,轉而選擇了競爭對手的產品…

用戶需求報告、系統需求規格說明書、軟件需求規格說明的對比分析

用戶需求報告、系統需求規格說明書&#xff08;SyRS&#xff09;和軟件需求規格說明書&#xff08;SRS&#xff09;是需求工程中的關鍵文檔&#xff0c;分別對應不同層次和視角的需求描述。以下是它們的核心區別對比&#xff1a; ??1. 用戶需求報告&#xff08;User Requirem…

iostat指令介紹

文章目錄 1. 功能介紹2. 語法介紹3. 應用場景4. 示例分析 1. 功能介紹 iostat (input/output statistics)&#xff0c;是 Linux/Unix 系統中用于監控 CPU 使用率和 磁盤 I/O 性能的核心工具&#xff0c;可實時展示設備負載、吞吐量、隊列狀態等關鍵指標。 可以使用 man iostat查…

神經網絡 “疑難雜癥” 破解指南:梯度消失與爆炸全攻略(六)

引言 在神經網絡的發展歷程中&#xff0c;梯度消失和梯度爆炸如同兩座難以翻越的大山&#xff0c;阻礙著深層神經網絡發揮其強大的潛力。尤其是在處理復雜任務時&#xff0c;這兩個問題可能導致模型訓練陷入困境&#xff0c;無法達到預期的效果。本文將深入探討梯度消失和梯度…

“多模態SCA+DevSecOps+SBOM風險情報預警 “數字供應鏈安全最佳管理體系!懸鏡安全如何用AI守護萬億數字中國?

夜深人靜&#xff0c;程序員青絲盯著屏幕上自動生成的代碼模塊陷入沉思。在AI大模型的加持下&#xff0c;僅用一周團隊就完成了原本需要半年的開發進度&#xff0c;但代碼審查時卻發現了不少高危漏洞。“生成效率提升了&#xff0c;但安全漏洞像定時炸彈一樣藏在代碼里”&#…

Node.js簡介(nvm使用)

Node.js是一個基于Chrome V8 JavaScript引擎構建的開源、跨平臺JavaScript運行環境。它允許開發者在服務器端運行JavaScript代碼&#xff0c;從而實現前后端統一的開發語言。Node.js具有事件驅動、非阻塞I/O模型&#xff0c;使其非常適合于構建高性能的網絡應用。 Node.js不是…

PHP日志會對服務器產生哪些影響?

PHP日志是服務器運維中非常重要的一部分&#xff0c;但處理不當會對服務器產生明顯的負面影響。下面我們從多個維度深入分析&#xff1a;PHP日志的作用、類型、對服務器的正面與負面影響&#xff0c;以及優化建議&#xff0c;讓你全面掌握這一問題。 一、PHP日志是什么? PHP…

Spring AI Alibaba-02-多輪對話記憶、持久化消息記錄

Spring AI Alibaba-02-多輪對話記憶、持久化消息記錄 Lison <dreamlison163.com>, v1.0.0, 2025.04.19 文章目錄 Spring AI Alibaba-02-多輪對話記憶、持久化消息記錄多輪對話對話持久-Redis 本次主要聚焦于多輪對話功能的實現&#xff0c;后續會逐步增加更多實用內容&…