Ubuntu系統(tǒng)NVIDIA顯卡驅(qū)動(dòng)安裝與深度學(xué)習(xí)環(huán)境配置全攻略
最近在折騰深度學(xué)習(xí)環(huán)境被顯卡驅(qū)動(dòng)、CUDA、cuDNN的版本兼容性搞得焦頭爛額。特別是新裝Ubuntu系統(tǒng)后圖形界面進(jìn)不去、循環(huán)登錄、黑屏等問(wèn)題層出不窮網(wǎng)上教程又零散過(guò)時(shí)踩坑無(wú)數(shù)。本文旨在提供一份從零開(kāi)始的、保姆級(jí)的NVIDIA顯卡驅(qū)動(dòng)安裝與配置指南重點(diǎn)覆蓋Ubuntu系統(tǒng)并徹底理清驅(qū)動(dòng)、CUDA、cuDNN、PyTorch之間的版本依賴(lài)關(guān)系。無(wú)論你是剛接觸Linux的新手還是需要在服務(wù)器上配置3090等專(zhuān)業(yè)卡進(jìn)行AI開(kāi)發(fā)的工程師都能按照本文步驟避開(kāi)常見(jiàn)陷阱一次成功。1. 核心概念為什么需要顯卡驅(qū)動(dòng)在開(kāi)始動(dòng)手之前我們先搞清楚幾個(gè)核心概念這能幫你理解每一步操作的目的而不是機(jī)械地復(fù)制命令。1.1 顯卡驅(qū)動(dòng)是什么簡(jiǎn)單來(lái)說(shuō)顯卡驅(qū)動(dòng)Graphics Driver是操作系統(tǒng)如Windows、Linux與物理顯卡硬件如NVIDIA GeForce RTX 4090, Tesla P40之間的“翻譯官”和“管理員”。功能它負(fù)責(zé)將操作系統(tǒng)和應(yīng)用程序尤其是圖形密集型應(yīng)用、游戲、科學(xué)計(jì)算軟件的指令翻譯成顯卡能理解的“語(yǔ)言”從而調(diào)動(dòng)GPU的計(jì)算核心、顯存等資源進(jìn)行工作。必要性沒(méi)有正確的驅(qū)動(dòng)操作系統(tǒng)就無(wú)法識(shí)別和充分利用顯卡的性能。在Linux下你可能會(huì)看到系統(tǒng)使用開(kāi)源但性能較弱的“Nouveau”驅(qū)動(dòng)或者直接無(wú)法進(jìn)入圖形界面。1.2 CUDA、cuDNN與PyTorch/TensorFlow的關(guān)系這是AI開(kāi)發(fā)環(huán)境搭建的核心鏈條理解它們的層級(jí)關(guān)系至關(guān)重要。NVIDIA顯卡驅(qū)動(dòng)最底層的基礎(chǔ)。所有上層工具都依賴(lài)于它。CUDA Toolkit建立在驅(qū)動(dòng)之上的并行計(jì)算平臺(tái)和編程模型。它提供了GPU編程所需的編譯器nvcc、庫(kù)函數(shù)和API。你可以把它想象成GPU的“軟件開(kāi)發(fā)套件”SDK。每個(gè)CUDA版本都對(duì)顯卡驅(qū)動(dòng)版本有最低要求。cuDNN全稱(chēng)CUDA Deep Neural Network library。這是NVIDIA針對(duì)深度神經(jīng)網(wǎng)絡(luò)優(yōu)化的GPU加速庫(kù)。它實(shí)現(xiàn)了卷積、池化、歸一化等層的前向和反向傳播的高性能版本。PyTorch和TensorFlow在調(diào)用GPU時(shí)底層會(huì)使用cuDNN。PyTorch / TensorFlow最上層的深度學(xué)習(xí)框架。它們封裝了CUDA和cuDNN為開(kāi)發(fā)者提供了友好的Python接口。在安裝PyTorch時(shí)你需要選擇與已安裝的CUDA版本匹配的預(yù)編譯版本。依賴(lài)關(guān)系鏈PyTorch/TensorFlow-cuDNN-CUDA Toolkit-NVIDIA Driver關(guān)鍵原則通常你應(yīng)該先確定你要使用的PyTorch或TensorFlow版本然后根據(jù)其官方要求去選擇兼容的CUDA和cuDNN版本最后確保你的顯卡驅(qū)動(dòng)版本滿(mǎn)足CUDA的最低要求。1.3 專(zhuān)有驅(qū)動(dòng) vs 開(kāi)源驅(qū)動(dòng) (Nouveau)在Linux系統(tǒng)中你可能會(huì)遇到兩種NVIDIA驅(qū)動(dòng)開(kāi)源驅(qū)動(dòng) (Nouveau)由社區(qū)維護(hù)默認(rèn)集成在許多Linux發(fā)行版中。優(yōu)點(diǎn)是開(kāi)源、無(wú)需額外安裝。缺點(diǎn)是性能差、功能不全不支持CUDA、對(duì)新顯卡支持慢且經(jīng)常導(dǎo)致與專(zhuān)有驅(qū)動(dòng)的沖突。專(zhuān)有驅(qū)動(dòng) (Proprietary Driver)由NVIDIA官方發(fā)布。性能最優(yōu)完整支持CUDA、OpenGL等所有特性。進(jìn)行AI開(kāi)發(fā)、游戲或?qū)I(yè)圖形工作必須使用專(zhuān)有驅(qū)動(dòng)。我們本文的目標(biāo)就是安全地禁用Nouveau驅(qū)動(dòng)并安裝正確的NVIDIA專(zhuān)有驅(qū)動(dòng)。2. 環(huán)境準(zhǔn)備與前置檢查在安裝任何東西之前充分的準(zhǔn)備工作可以避免后續(xù)90%的問(wèn)題。2.1 確定你的顯卡型號(hào)打開(kāi)終端使用以下命令lspci | grep -i nvidia或者更詳細(xì)地lspci -v | grep -A 10 -i VGA\|3D輸出會(huì)包含你的顯卡型號(hào)例如NVIDIA Corporation GA102 [GeForce RTX 3090]。記下這個(gè)型號(hào)。2.2 確定當(dāng)前系統(tǒng)信息# 查看系統(tǒng)版本 lsb_release -a # 或查看 /etc/os-release cat /etc/os-release # 查看內(nèi)核版本 uname -r例如輸出可能是Ubuntu 22.04.3 LTS和內(nèi)核5.15.0-91-generic。2.3 檢查現(xiàn)有驅(qū)動(dòng)狀態(tài)# 檢查當(dāng)前使用的顯卡驅(qū)動(dòng) ubuntu-drivers devices這個(gè)命令會(huì)列出推薦的和可用的驅(qū)動(dòng)版本非常有用。# 檢查NVIDIA驅(qū)動(dòng)是否已安裝如果有輸出則已安裝 nvidia-smi如果nvidia-smi命令未找到說(shuō)明驅(qū)動(dòng)未安裝。如果已安裝它會(huì)顯示驅(qū)動(dòng)版本、CUDA版本這里是驅(qū)動(dòng)內(nèi)嵌的CUDA版本并非你安裝的CUDA Toolkit版本、顯卡狀態(tài)等信息。2.4 關(guān)鍵記錄你的目標(biāo)PyTorch版本所需的CUDA版本訪(fǎng)問(wèn) PyTorch官方網(wǎng)站 查看不同版本PyTorch所需的CUDA版本。 例如pip install torch2.2.0 torchvision0.17.0 torchaudio2.2.0 --index-url https://download.pytorch.org/whl/cu118對(duì)應(yīng)的是CUDA 11.8。根據(jù)你選擇的CUDA版本如11.8去 NVIDIA CUDA Toolkit 文檔 查看其對(duì)驅(qū)動(dòng)版本的最低要求。例如CUDA 11.8 要求驅(qū)動(dòng)版本 520.61.05。至此你得到了一個(gè)目標(biāo)鏈PyTorch 2.2.0 - CUDA 11.8 - 驅(qū)動(dòng) 520.61.05。我們將以此為目標(biāo)進(jìn)行安裝。3. 徹底卸載舊驅(qū)動(dòng)至關(guān)重要這是避免沖突和安裝失敗的最關(guān)鍵一步。如果你是從零開(kāi)始的新系統(tǒng)可以跳過(guò)。但如果你之前安裝失敗或想升級(jí)必須徹底清理。警告以下操作建議在文本模式TTY或恢復(fù)模式下進(jìn)行因?yàn)樾遁d驅(qū)動(dòng)可能導(dǎo)致圖形界面失效。你可以按CtrlAltF3F3-F6之一切換到TTY終端登錄進(jìn)行操作。3.1 使用官方推薦工具nvidia-uninstall如果之前用.run文件安裝過(guò)可以嘗試sudo /usr/bin/nvidia-uninstall然后按照提示操作。3.2 使用APT命令卸載# 卸載所有NVIDIA相關(guān)軟件包 sudo apt-get purge *nvidia* *cuda* *cudnn* -y sudo apt-get autoremove -y sudo apt-get autoclean -y3.3 可選但推薦在Windows/Linux雙系統(tǒng)下使用DDU如果你是從Windows切換過(guò)來(lái)或者遇到極其頑固的驅(qū)動(dòng)沖突可以在Windows環(huán)境下使用DDU (Display Driver Uninstaller)在安全模式下徹底清除NVIDIA驅(qū)動(dòng)殘留。然后再進(jìn)入Linux系統(tǒng)進(jìn)行安裝。這對(duì)于解決一些底層沖突非常有效。3.4 禁用開(kāi)源Nouveau驅(qū)動(dòng)Ubuntu必須做創(chuàng)建禁用配置文件sudo bash -c echo blacklist nouveau /etc/modprobe.d/blacklist-nvidia-nouveau.conf sudo bash -c echo options nouveau modeset0 /etc/modprobe.d/blacklist-nvidia-nouveau.conf更新initramfs并重啟sudo update-initramfs -u sudo reboot重啟后驗(yàn)證Nouveau是否被禁用lsmod | grep nouveau如果沒(méi)有任何輸出說(shuō)明禁用成功。4. 安裝NVIDIA顯卡驅(qū)動(dòng)三種方法詳解這里提供三種主流方法推薦方法二最為穩(wěn)妥。4.1 方法一使用系統(tǒng)倉(cāng)庫(kù)ubuntu-driversapt【推薦新手】這是最簡(jiǎn)單、最集成化的方法能自動(dòng)處理依賴(lài)和內(nèi)核模塊。添加顯卡驅(qū)動(dòng)PPA可選但通常能獲得較新驅(qū)動(dòng)sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update查看推薦驅(qū)動(dòng)版本ubuntu-drivers devices輸出類(lèi)似driver : nvidia-driver-535 - third-party free recommended driver : nvidia-driver-525 - third-party free driver : nvidia-driver-535-server - third-party free driver : nvidia-driver-470 - third-party free driver : nvidia-driver-525-open - third-party free driver : nvidia-driver-470-server - third-party freerecommended標(biāo)識(shí)的是系統(tǒng)推薦版本。檢查這個(gè)版本是否滿(mǎn)足你目標(biāo)CUDA版本的要求例如nvidia-driver-535通常對(duì)應(yīng)535.xx.xx版本驅(qū)動(dòng)。安裝推薦驅(qū)動(dòng)或指定版本# 安裝推薦版本 sudo apt install nvidia-driver-535 -y # 或者安裝你通過(guò)ubuntu-drivers devices看到的特定版本 # sudo apt install nvidia-driver-525 -y安裝過(guò)程會(huì)編譯內(nèi)核模塊可能需要一些時(shí)間。重啟系統(tǒng)sudo reboot驗(yàn)證安裝nvidia-smi如果成功你將看到顯卡信息表格。同時(shí)系統(tǒng)設(shè)置-關(guān)于-圖形顯示應(yīng)為NVIDIA顯卡。4.2 方法二使用NVIDIA官方.run文件【推薦高級(jí)用戶(hù)/服務(wù)器】這種方法可以安裝最新版或特定版本的驅(qū)動(dòng)但需要關(guān)閉圖形界面步驟稍復(fù)雜。在NVIDIA官網(wǎng)下載驅(qū)動(dòng)訪(fǎng)問(wèn) NVIDIA驅(qū)動(dòng)下載頁(yè) 選擇你的顯卡型號(hào)和操作系統(tǒng)下載對(duì)應(yīng)的.run文件例如NVIDIA-Linux-x86_64-550.54.14.run。關(guān)閉圖形界面進(jìn)入文本模式sudo systemctl isolate multi-user.target # 或者使用 init 3 (取決于系統(tǒng)) sudo init 3或者更簡(jiǎn)單按CtrlAltF3切換到TTY3登錄。給.run文件添加執(zhí)行權(quán)限并運(yùn)行cd ~/Downloads # 進(jìn)入下載目錄 chmod x NVIDIA-Linux-x86_64-*.run sudo ./NVIDIA-Linux-x86_64-*.run安裝向?qū)е兄匾x項(xiàng)Would you like to register the kernel module sources with DKMS?選擇 Yes。這樣內(nèi)核更新后驅(qū)動(dòng)會(huì)自動(dòng)重新編譯。Install NVIDIAs 32-bit compatibility libraries?可選 Yes。Would you like to run the nvidia-xconfig utility...?如果你使用Ubuntu默認(rèn)的顯示管理器如GDM3、LightDM通常選擇 No讓系統(tǒng)自動(dòng)配置。如果選擇Yes它可能會(huì)覆蓋你的X11配置導(dǎo)致登錄循環(huán)。如果安裝后遇到圖形問(wèn)題可以回來(lái)運(yùn)行sudo nvidia-xconfig。安裝完成后重啟sudo reboot驗(yàn)證nvidia-smi。4.3 方法三使用CUDA Toolkit捆綁安裝在安裝CUDA Toolkit時(shí)安裝程序會(huì)提供一個(gè)選項(xiàng)“是否安裝附帶的NVIDIA驅(qū)動(dòng)”。如果你選擇安裝它會(huì)捆綁安裝一個(gè)與該CUDA版本兼容的驅(qū)動(dòng)。但這個(gè)方法安裝的驅(qū)動(dòng)版本可能不是最新的且管理不如前兩種方法靈活。更推薦先裝驅(qū)動(dòng)再裝CUDA。5. 安裝CUDA Toolkit與cuDNN驅(qū)動(dòng)安裝成功后開(kāi)始安裝CUDA。5.1 安裝CUDA Toolkit訪(fǎng)問(wèn) NVIDIA CUDA Toolkit 下載頁(yè)面 。選擇你需要的版本例如 CUDA 11.8。選擇你的操作系統(tǒng)信息Linux, x86_64, Ubuntu, 22.04, runfile(local)。建議選擇 runfile 格式因?yàn)樗试S你選擇不安裝驅(qū)動(dòng)。按照官網(wǎng)給出的命令安裝。例如對(duì)于CUDA 11.8wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run在安裝向?qū)е虚喿x協(xié)議輸入accept。關(guān)鍵步驟取消勾選Driver因?yàn)槲覀円呀?jīng)安裝了驅(qū)動(dòng)。只保留CUDA Toolkit的勾選。按回車(chē)安裝。配置環(huán)境變量# 編輯 ~/.bashrc 文件 nano ~/.bashrc # 在文件末尾添加以下兩行 export PATH/usr/local/cuda-11.8/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}注意cuda-11.8要替換成你實(shí)際安裝的版本路徑。你可以通過(guò)ls /usr/local/查看。# 使配置生效 source ~/.bashrc驗(yàn)證CUDA安裝nvcc -V此命令應(yīng)輸出CUDA編譯器版本信息。同時(shí)nvidia-smi頂部的CUDA Version是驅(qū)動(dòng)支持的最高CUDA運(yùn)行時(shí)版本而nvcc -V顯示的是你實(shí)際安裝的CUDA編譯工具鏈版本。5.2 安裝cuDNNcuDNN是庫(kù)文件需要注冊(cè)NVIDIA開(kāi)發(fā)者賬戶(hù)才能下載。訪(fǎng)問(wèn) NVIDIA cuDNN 下載頁(yè)面 需登錄。選擇與你安裝的CUDA版本對(duì)應(yīng)的cuDNN版本例如CUDA 11.x - cuDNN for CUDA 11.x。下載Local Installer for Linux (Tar)壓縮包。解壓并復(fù)制文件到CUDA目錄# 假設(shè)下載文件為 cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz tar -xvf cudnn-linux-x86_64-*.tar.xz cd cudnn-*-archive sudo cp include/cudnn*.h /usr/local/cuda-11.8/include/ sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64/ sudo chmod ar /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*可選創(chuàng)建符號(hào)鏈接或更新庫(kù)緩存sudo ldconfig6. 安裝PyTorch并驗(yàn)證GPU可用性現(xiàn)在所有底層環(huán)境已就緒可以安裝深度學(xué)習(xí)框架了。根據(jù)PyTorch官網(wǎng)命令安裝。務(wù)必選擇與你CUDA版本匹配的命令。# 例如為 CUDA 11.8 安裝 PyTorch 2.2.0 pip install torch2.2.0 torchvision0.17.0 torchaudio2.2.0 --index-url https://download.pytorch.org/whl/cu118編寫(xiě)一個(gè)簡(jiǎn)單的Python腳本來(lái)驗(yàn)證GPU# test_gpu.py import torch print(fPyTorch version: {torch.__version__}) print(fCUDA available: {torch.cuda.is_available()}) if torch.cuda.is_available(): print(fCUDA version: {torch.version.cuda}) print(fGPU device: {torch.cuda.get_device_name(0)}) # 做一個(gè)簡(jiǎn)單的張量運(yùn)算 a torch.tensor([1.0, 2.0, 3.0]).cuda() b torch.tensor([4.0, 5.0, 6.0]).cuda() c a b print(fGPU computation result: {c}) print(fResult is on GPU: {c.is_cuda}) else: print(CUDA is NOT available. Check your installation.)運(yùn)行腳本python test_gpu.py期望的輸出應(yīng)該顯示CUDA可用并打印出你的GPU型號(hào)和計(jì)算結(jié)果。7. 高頻問(wèn)題與深度排錯(cuò)指南即使按照步驟也可能遇到問(wèn)題。以下是經(jīng)過(guò)整理的排錯(cuò)清單。7.1 安裝驅(qū)動(dòng)后Ubuntu卡在登錄界面循環(huán)/黑屏/無(wú)法進(jìn)入圖形界面這是最常見(jiàn)的問(wèn)題根本原因通常是驅(qū)動(dòng)與顯示管理器如GDM3, LightDM或桌面環(huán)境如GNOME, KDE的兼容性問(wèn)題。排查與解決步驟進(jìn)入恢復(fù)模式或TTY重啟在GRUB菜單選擇“Advanced options for Ubuntu”然后選擇“recovery mode”進(jìn)入root shell。或者開(kāi)機(jī)后按CtrlAltF3。檢查驅(qū)動(dòng)是否安裝成功在TTY下運(yùn)行nvidia-smi。如果能顯示說(shuō)明驅(qū)動(dòng)本身是好的。檢查Xorg日志cat /var/log/Xorg.0.log | grep -i (EE)\|(WW)關(guān)注(EE)錯(cuò)誤信息。嘗試重新配置顯示# 如果是GDM3 sudo dpkg-reconfigure gdm3 # 或者嘗試lightdm sudo apt install lightdm sudo dpkg-reconfigure lightdm在配置中選擇一個(gè)不同的顯示管理器試試。使用nvidia-xconfig謹(jǐn)慎sudo nvidia-xconfig這會(huì)生成一個(gè)新的/etc/X11/xorg.conf文件。然后重啟。回退到開(kāi)源驅(qū)動(dòng)如果以上都不行可以先卸載NVIDIA驅(qū)動(dòng)用開(kāi)源驅(qū)動(dòng)進(jìn)入系統(tǒng)再排查。sudo apt purge *nvidia* sudo reboot7.2nvidia-smi可以運(yùn)行但torch.cuda.is_available()返回 False這通常意味著PyTorch的CUDA版本與系統(tǒng)安裝的CUDA運(yùn)行時(shí)版本不匹配。檢查版本一致性# 檢查PyTorch看到的CUDA版本 python -c import torch; print(torch.version.cuda) # 檢查系統(tǒng)安裝的CUDA Toolkit版本 nvcc -V # 檢查驅(qū)動(dòng)內(nèi)嵌的CUDA版本最高支持 nvidia-smi確保nvcc -V的版本與torch.version.cuda的主版本號(hào)如11.8一致。nvidia-smi的版本應(yīng) 這個(gè)版本。檢查環(huán)境變量確保LD_LIBRARY_PATH包含了CUDA庫(kù)路徑如/usr/local/cuda-11.8/lib64。重新安裝匹配的PyTorch使用正確的--index-url。7.3 內(nèi)核更新后NVIDIA驅(qū)動(dòng)失效如果你使用.run文件安裝且未啟用DKMS或者使用舊版驅(qū)動(dòng)內(nèi)核更新后需要重新編譯驅(qū)動(dòng)模塊。解決方案使用apt安裝的驅(qū)動(dòng)通常集成了DKMS會(huì)自動(dòng)處理。如果手動(dòng)安裝可以在安裝.run文件時(shí)務(wù)必選擇啟用DKMS。如果已經(jīng)失效可以嘗試# 切換到對(duì)應(yīng)內(nèi)核版本的頭文件 sudo apt install linux-headers-$(uname -r) # 重新運(yùn)行NVIDIA驅(qū)動(dòng)安裝程序 sudo ./NVIDIA-Linux-x86_64-*.run --dkms7.4 雙顯卡筆記本如ThinkBook 16的額外配置許多筆記本采用NVIDIA獨(dú)顯 Intel/AMD集顯的混合模式Optimus。在Linux上需要額外配置。安裝prime-select工具sudo apt install nvidia-prime切換顯卡模式# 查看當(dāng)前模式 prime-select query # 切換到NVIDIA獨(dú)顯模式性能模式耗電 sudo prime-select nvidia # 切換到集成顯卡模式省電模式 sudo prime-select intel # 切換到按需模式推薦類(lèi)似Windows應(yīng)用程序可請(qǐng)求使用獨(dú)顯 sudo prime-select on-demand重啟生效切換后需要重啟。驗(yàn)證在“NVIDIA X Server Settings”應(yīng)用中可以看到PRIME Profiles選項(xiàng)。8. 最佳實(shí)踐與工程建議版本管理是核心在開(kāi)始任何項(xiàng)目前明確記錄并鎖定驅(qū)動(dòng)、CUDA、cuDNN、PyTorch/TensorFlow的版本。使用requirements.txt或environment.yml文件管理Python環(huán)境推薦使用Conda或venv。優(yōu)先使用系統(tǒng)倉(cāng)庫(kù)驅(qū)動(dòng)對(duì)于生產(chǎn)服務(wù)器或追求穩(wěn)定性的環(huán)境優(yōu)先使用ubuntu-drivers和apt安裝的驅(qū)動(dòng)。它們經(jīng)過(guò)發(fā)行版測(cè)試與系統(tǒng)集成度更好。服務(wù)器環(huán)境對(duì)于無(wú)圖形界面的服務(wù)器安裝驅(qū)動(dòng)時(shí)使用--no-opengl-files參數(shù)在.run安裝中可以避免安裝不必要的OpenGL庫(kù)。備份X11配置在對(duì)/etc/X11/xorg.conf進(jìn)行任何修改前先備份原文件。使用容器化技術(shù)對(duì)于復(fù)雜的AI項(xiàng)目考慮使用Docker或Singularity。NVIDIA提供了包含完整驅(qū)動(dòng)和CUDA環(huán)境的官方鏡像如nvidia/cuda:11.8.0-runtime-ubuntu22.04可以完美解決環(huán)境依賴(lài)問(wèn)題。監(jiān)控GPU狀態(tài)除了nvidia-smi可以學(xué)習(xí)使用nvtop一個(gè)更直觀(guān)的GPU監(jiān)控工具或gpustatPython庫(kù)來(lái)實(shí)時(shí)監(jiān)控GPU利用率、顯存和溫度。處理多卡環(huán)境如果服務(wù)器有多張GPU如8卡服務(wù)器確保驅(qū)動(dòng)正確識(shí)別所有卡。nvidia-smi應(yīng)列出所有GPU。在PyTorch中可以使用torch.cuda.device_count()查看可用設(shè)備數(shù)并使用torch.nn.DataParallel或torch.nn.parallel.DistributedDataParallel進(jìn)行多卡訓(xùn)練。遵循從驅(qū)動(dòng)到框架的自底向上安裝順序理解每一層的作用和依賴(lài)關(guān)系是成功搭建GPU開(kāi)發(fā)環(huán)境的關(guān)鍵。當(dāng)遇到問(wèn)題時(shí)耐心查看日志/var/log/下的日志、Xorg日志、內(nèi)核日志dmesg并善用搜索引擎大部分問(wèn)題都有解決方案。

相關(guān)新聞

2026平頂山黃金回收白銀回收鉑金回收靠譜臨街實(shí)體公安備案支持到店核驗(yàn)門(mén)店聯(lián)系方式推薦

2026平頂山黃金回收白銀回收鉑金回收靠譜臨街實(shí)體公安備案支持到店核驗(yàn)門(mén)店聯(lián)系方式推薦

2026平頂山黃金白銀鉑金回收實(shí)測(cè)榜單|公安備案臨街實(shí)體門(mén)店推薦 平頂山街頭巷尾貴金屬回收店鋪遍地叢生,行業(yè)套路層出不窮,不少市民變現(xiàn)時(shí)遭遇虛高報(bào)價(jià)、克扣損耗、未經(jīng)同意熔金壓價(jià)等問(wèn)題。為幫助本地居民規(guī)避消費(fèi)陷阱,小編實(shí)地…

2026/8/3 12:18:47 閱讀更多
在電腦上免費(fèi)暢玩Switch游戲:yuzu模擬器終極使用指南

在電腦上免費(fèi)暢玩Switch游戲:yuzu模擬器終極使用指南

在電腦上免費(fèi)暢玩Switch游戲:yuzu模擬器終極使用指南 【免費(fèi)下載鏈接】yuzu 任天堂 Switch 模擬器 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 想要在電腦上體驗(yàn)任天堂Switch游戲的魅力嗎?yuzu模擬器為你打開(kāi)了這扇大門(mén)。作為當(dāng)前最…

2026/8/3 12:08:47 閱讀更多
Bilibili視頻下載器完全指南:解鎖大會(huì)員4K高清離線(xiàn)觀(guān)看的終極方案

Bilibili視頻下載器完全指南:解鎖大會(huì)員4K高清離線(xiàn)觀(guān)看的終極方案

Bilibili視頻下載器完全指南:解鎖大會(huì)員4K高清離線(xiàn)觀(guān)看的終極方案 【免費(fèi)下載鏈接】bilibili-downloader B站視頻下載,支持下載大會(huì)員清晰度4K,持續(xù)更新中 項(xiàng)目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 在當(dāng)今數(shù)…

2026/8/3 12:08:47 閱讀更多
187、TinyML實(shí)戰(zhàn)項(xiàng)目:智能安防與入侵檢測(cè)

187、TinyML實(shí)戰(zhàn)項(xiàng)目:智能安防與入侵檢測(cè)

TinyML實(shí)戰(zhàn)項(xiàng)目:智能安防與入侵檢測(cè) 從一次半夜誤報(bào)說(shuō)起 凌晨三點(diǎn),手機(jī)瘋狂震動(dòng)。家里部署的“智能安防系統(tǒng)”把一只路過(guò)的野貓識(shí)別成了“可疑入侵者”。這不是第一次了——過(guò)去兩周,我已經(jīng)被蚊子、窗簾飄動(dòng)、甚至陽(yáng)光移動(dòng)的影子反復(fù)折騰。客戶(hù)那邊更慘,一套部署在倉(cāng)庫(kù)的…

2026/8/3 13:28:50 閱讀更多
題解:洛谷 P2693 [USACO1.3] 號(hào)碼鎖 Combination Lock

題解:洛谷 P2693 [USACO1.3] 號(hào)碼鎖 Combination Lock

本文分享的必刷題目是從藍(lán)橋云課、洛谷、AcWing等知名刷題平臺(tái)精心挑選而來(lái),并結(jié)合各平臺(tái)提供的算法標(biāo)簽和難度等級(jí)進(jìn)行了系統(tǒng)分類(lèi)。題目涵蓋了從基礎(chǔ)到進(jìn)階的多種算法和數(shù)據(jù)結(jié)構(gòu),旨在為不同階段的編程學(xué)習(xí)者提供一條清晰、平穩(wěn)的學(xué)習(xí)提升路徑。 歡迎大…

2026/8/3 13:28:50 閱讀更多
免費(fèi)查AI率的5款工具實(shí)測(cè),先自查再降A(chǔ)I率,萬(wàn)方檢測(cè)一次達(dá)標(biāo)。

免費(fèi)查AI率的5款工具實(shí)測(cè),先自查再降A(chǔ)I率,萬(wàn)方檢測(cè)一次達(dá)標(biāo)。

免費(fèi)查AI率的5款工具實(shí)測(cè),先自查再降A(chǔ)I率,萬(wàn)方檢測(cè)一次達(dá)標(biāo)。 你現(xiàn)在多半有這么一個(gè)糾結(jié):稿子寫(xiě)完了,心里不踏實(shí),想先測(cè)一下 AI 率,但正式的檢測(cè)都要按字?jǐn)?shù)收費(fèi),一篇論文測(cè)下來(lái)不便宜。測(cè)吧&am…

2026/8/3 13:28:50 閱讀更多
題解:洛谷 P3650 [USACO1.3] 滑雪課程設(shè)計(jì)Ski Course Design

題解:洛谷 P3650 [USACO1.3] 滑雪課程設(shè)計(jì)Ski Course Design

本文分享的必刷題目是從藍(lán)橋云課、洛谷、AcWing等知名刷題平臺(tái)精心挑選而來(lái),并結(jié)合各平臺(tái)提供的算法標(biāo)簽和難度等級(jí)進(jìn)行了系統(tǒng)分類(lèi)。題目涵蓋了從基礎(chǔ)到進(jìn)階的多種算法和數(shù)據(jù)結(jié)構(gòu),旨在為不同階段的編程學(xué)習(xí)者提供一條清晰、平穩(wěn)的學(xué)習(xí)提升路徑。 歡迎大…

2026/8/3 13:28:50 閱讀更多
BLE400藍(lán)牙物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái):從硬件解析到協(xié)議棧開(kāi)發(fā)的完整指南

BLE400藍(lán)牙物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái):從硬件解析到協(xié)議棧開(kāi)發(fā)的完整指南

1. 項(xiàng)目概述:BLE400是什么,以及它為何值得關(guān)注 如果你正在物聯(lián)網(wǎng)、智能穿戴或者無(wú)線(xiàn)傳感領(lǐng)域折騰,最近可能頻繁聽(tīng)到“BLE400”這個(gè)詞。它不是一個(gè)新潮的營(yíng)銷(xiāo)概念,而是一個(gè)實(shí)實(shí)在在的、基于低功耗藍(lán)牙技術(shù)的硬件開(kāi)發(fā)平臺(tái)或模組型號(hào)…

2026/8/3 13:28:50 閱讀更多
PCIe轉(zhuǎn)M.2轉(zhuǎn)接卡全攻略:釋放閑置接口,低成本擴(kuò)展高速NVMe固態(tài)硬盤(pán)

PCIe轉(zhuǎn)M.2轉(zhuǎn)接卡全攻略:釋放閑置接口,低成本擴(kuò)展高速NVMe固態(tài)硬盤(pán)

1. 項(xiàng)目概述:當(dāng)PCIe接口遇上M.2迷你形態(tài)最近在折騰一臺(tái)老舊的迷你主機(jī),想給它加裝一塊高速固態(tài)硬盤(pán),但主板上唯一的M.2插槽已經(jīng)被占用了。翻箱倒柜找配件時(shí),我看到了閑置的PCIe x1擴(kuò)展槽和一塊小巧的M.2 2242 NVMe SSD。一個(gè)想法冒…

2026/8/3 13:18:49 閱讀更多
全球僅7家廠(chǎng)商通過(guò)ISO/IEC 27001認(rèn)證的名片AI引擎,我們逆向拆解了它的字段置信度熔斷機(jī)制

全球僅7家廠(chǎng)商通過(guò)ISO/IEC 27001認(rèn)證的名片AI引擎,我們逆向拆解了它的字段置信度熔斷機(jī)制

更多請(qǐng)點(diǎn)擊: https://kaifayun.com 第一章:全球僅7家廠(chǎng)商通過(guò)ISO/IEC 27001認(rèn)證的名片AI引擎概覽 名片AI引擎是企業(yè)級(jí)智能文檔處理的核心組件,專(zhuān)注于高精度OCR、語(yǔ)義結(jié)構(gòu)化提取與跨語(yǔ)言實(shí)體對(duì)齊。截至2024年第三季度,全球范圍內(nèi)僅…

2026/8/3 0:07:47 閱讀更多
Dism++系統(tǒng)優(yōu)化實(shí)戰(zhàn):3大場(chǎng)景深度清理Windows性能瓶頸

Dism++系統(tǒng)優(yōu)化實(shí)戰(zhàn):3大場(chǎng)景深度清理Windows性能瓶頸

Dism系統(tǒng)優(yōu)化實(shí)戰(zhàn):3大場(chǎng)景深度清理Windows性能瓶頸 【免費(fèi)下載鏈接】Dism-Multi-language Dism Multi-language Support & BUG Report 項(xiàng)目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism是一款基于微軟底層技術(shù)的專(zhuān)業(yè)Windows系統(tǒng)優(yōu)…

2026/8/3 0:07:47 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類(lèi)短視頻,自動(dòng)批量混剪短視頻,自動(dòng)把視頻發(fā)布到抖音,快手,小紅書(shū),視頻號(hào)上,賺錢(qián)從來(lái)沒(méi)有這么容易過(guò)! 支持本地語(yǔ)音模型chatTTS,fasterwhisper,…

2026/8/3 7:44:46 閱讀更多
3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說(shuō)說(shuō) 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過(guò),那些年發(fā)過(guò)的QQ空間說(shuō)說(shuō),那些記錄青春的文字…

2026/8/3 12:53:38 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號(hào)分配電路板。該型號(hào)(0100-02186)的核心特點(diǎn)如下:專(zhuān)用于Endura等半導(dǎo)體工藝腔室。集成信號(hào)路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動(dòng)化設(shè)備及通用機(jī)械驅(qū)動(dòng)。該型號(hào)(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動(dòng)機(jī)。額定…

2026/8/2 2:52:49 閱讀更多