在WSL2-Ubuntu中安裝CUDA12.8、cuDNN、Anaconda、Pytorch并驗證安裝

#記錄工作

提示:整個過程最好先開啟系統代理,也可以用鏡像源,確保有官方發布的最新特性和官方庫的完整和兼容性支持。

?期間下載會特別慢,需要在系統上先開啟代理,然后WSL設置里打開網絡模式“Mirrored”,以設置WSL自動使用主機上的代理網絡。

【WLS2怎么設置網絡自動代理 - CSDN App】https://blog.csdn.net/u014451778/article/details/146073726?sharetype=blog&shareId=146073726&sharerefer=APP&sharesource=u014451778&sharefrom=link

一、首先要先確保——windows系統中要正確安裝了以下組件:

(一)顯卡驅動;

下載 NVIDIA 官方驅動 | NVIDIA

(二)Microsoft Visual Studio;

下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux

(三)CUDA;

CUDA Toolkit 12.8 Downloads | NVIDIA Developer

(四)cuDNN;

CUDA Toolkit 12.8 Downloads | NVIDIA Developer

(五)正確安裝WSL2-Ubuntu版本

要正常安裝WSL2-Ubuntu版本,安裝成功后打開ubuntu界面輸出如下界面:

安裝 WSL | Microsoft Learn

該版本默認是安裝的WSL2-Ubuntu 24.04版本?,也可以選擇其他的ubuntu版本進行安裝。

二、在WSL2-Ubuntu系統中安裝CUDA、cuDNN、Anaoconda

在windows系統中正確安裝完必要組件后,然后才是在WSL2-Ubuntu中按照順序安裝?CUDA、cuDNN、Anaoconda。

打開WSL2-Ubuntu,先安裝CUDA、再安裝cuDNN、最后是Anaconda(管理虛擬環境)

只要windows系統配置好了顯卡驅動,在WSL2中一般不必再另外安裝linux驅動了。

在安裝前可以在WSL2-Ubuntu中使用以下命令進行驗證與顯卡的通信和驅動調用的情況:

nvidia-smi

(一)安裝CUDA

打開CUDA官方網址<建議“deb(network)”方式較為省事>,完整復制全部命令粘貼進WSL2-Ubuntu終端中按回車鍵運行。

CUDA Toolkit 12.8 Downloads | NVIDIA Developer

選項如圖所示:

當然,也可以選WSL-Ubuntu這個選項更把穩。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

1、復制圖片/官網下邊的全部命令,粘貼到WSL2-Ubuntu終端窗口中,按ENTER鍵(回車鍵)運行?

2、過程中會要求輸入密碼,輸入ubuntu密碼即可。

3、執行命令后會自動進行下載和安裝:?

4、安裝結束后進行環境變量的編輯:

?a)我們可以按照下面的步驟來永久添加環境變量:

檢查安裝是否成功在配置環境變量之前,先確認 CUDA 是否正確安裝。運行以下命令:ls /usr/local/cuda-12.8/bin/

在 WSL2-Ubuntu 系統中,CUDA 12.8 通常安裝在/usr/local/cuda-12.8目錄下,這個目錄包含了 CUDA 相關的各種組件,如?bin(包含可執行文件,比如?nvcc?編譯器就在這里面)、lib64(包含庫文件)、include(包含頭文件) 等。如果在安裝過程中沒有指定其他特殊路徑,這就是默認的安裝位置。我們可以通過以下命令來驗證:

ls /usr/local/cuda-12.8

??如果安裝成功,我們會看到nvcc等工具的列表。如果沒有看到這些文件,可能需要重新檢查安裝步驟。

從我執行?ls /usr/local/cuda-12.8?后的輸出結果來看,CUDA 12.8 似乎已經成功安裝到了?/usr/local/cuda-12.8?目錄下。

接下來,我們需要將?/usr/local/cuda-12.8/bin?目錄添加到系統的?PATH?環境變量中,以便系統能夠找到?nvcc?等命令。


b) 配置環境變量環境變量的配置需要根據你的系統類型(Bash 或 Zsh)來操作。
?確認當前使用的 Shell

首先,確認你當前使用的 Shell 是 Bash 還是 Zsh。

我們可以通過以下命令查看:

echo $SHELL

? 如果輸出是 ? /bin/bash ?,則使用 Bash。

? 如果輸出是 ? /bin/zsh ?,則使用 Zsh。

c)編輯環境變量配置文件

以下是常見的配置方法:

對于 Bash 用戶

編輯 ? ~/.bashrc ? 文件,

nano ~/.bashrc

添加以下內容:?

export PATH=/usr/local/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH

? 按下 ? Ctrl + X ?,然后按 ? Y ? 確認保存,最后按 ? Enter ? 完成退出。?

保存文件后,運行以下命令使變量生效:

source ~/.bashrc
對于 Zsh 用戶

編輯 ? ~/.zshrc ? 文件,

nano ~/.bashrc

添加相同的內容 :?

export PATH=/usr/local/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH

保存文件后,運行以下命令使變量生效(選其一):

source ~/.bashrc   # 如果是 Bash 用戶
source ~/.zshrc    # 如果是 Zsh 用戶

?5. 驗證環境變量

配置完成后,運行以下命令驗證:

echo $PATH

?6. 測試 ? nvcc ?

運行 ? nvcc -V? 或nvcc --version
,檢查輸出是否正確。

nvcc -V

或者:?

nvcc --version

如果配置正確,你會看到類似以下的輸出:

love@AI:~$ ls /usr/local/cuda-12.8
DOCS      README  compute-sanitizer  extras  include  libnvvp           nvml  share  targets  version.json
EULA.txt  bin     doc                gds     lib64    nsightee_plugins  nvvm  src    tools
love@AI:~$ echo $SHELL
/bin/bash
love@AI:~$ nano ~/.bashrc
love@AI:~$ source ~/.bashrc
love@AI:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:20:09_PST_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0
love@AI:~$

至此,CUDA算是安裝成功并得到驗證。

7.驅動程序安裝程序(建議)

在官方CUDA安裝命令下方,有以下命令選項,強烈建議在驗證完CUDA安裝正確后,再次運行以下命令(任選其一)以確保安裝程序的未來兼容性。

NVIDIA 驅動程序說明(選擇一個選項)

?要安裝 open kernel module 風格:

sudo apt-get install -y nvidia-open

要安裝舊版內核模塊風格:

sudo apt-get install -y cuda-drivers

?NVIDIA 驅動程序提供了兩種內核模塊風格:open kernel module(開源內核模塊)和舊版內核模塊(proprietary kernel module,專有內核模塊)。這兩種風格的主要區別在于它們的許可證類型、支持的功能和兼容性。


open kernel module 風格

? 許可證:開源,通常采用 MIT/GPLv2 許可證。

? 支持的 GPU 架構:支持 Turing 及以后的 GPU 架構。

? 支持的功能:支持大多數 Linux GPU 驅動程序的功能,包括 CUDA、Vulkan、OpenGL、OptiX 和 X11。此外,還有一些功能是僅 open kernel modules 支持的,例如 NVIDIA Confidential Computing、Magnum IO GPUDirect Storage(GDS)、Heterogeneous Memory Management(HMM)、CPU affinity for GPU fault handlers 和 DMABUF support for CUDA allocations。

? 兼容性:可能不支持所有舊版專有內核模塊支持的特性,例如 NVIDIA virtual GPU(vGPU)、G-Sync on notebooks 和 Preserving video memory across power management events。

舊版內核模塊風格

? 許可證:專有,由 NVIDIA 提供。

? 支持的 GPU 架構:支持 Maxwell、Pascal、Volta、Turing 和之后的 GPU 架構。

? 支持的功能:支持所有 NVIDIA GPU 驅動程序的功能,包括那些可能在 open kernel modules 中尚未支持的特性。

? 兼容性:通常更穩定,特別是在支持較舊的硬件和特定的企業級應用場景中。


新手用戶推薦
對于新手用戶,推薦安裝open kernel module 風格的驅動程序,原因如下:

? 開源:更透明,社區支持更廣泛。

? 更新:通常包含最新的功能和改進。

? 兼容性:對于大多數現代應用和游戲來說,open kernel modules 提供的兼容性已經足夠。

然而,如果你有特定的需求,比如需要使用專有驅動程序中特有的功能,或者你的硬件較舊,可能需要舊版內核模塊風格。

在安裝驅動程序之前,建議先閱讀 NVIDIA 的官方文檔,了解不同風格的詳細區別和推薦使用場景。此外,確保我們的系統滿足安裝要求,并按照官方指南進行操作,以避免潛在的兼容性問題。

(二)安裝cuDNN

打開CUDA官方網址<建議“deb(network)”方式較為省事>,完整復制全部命令粘貼進WSL2-Ubuntu終端中按回車鍵運行。

cuDNN 9.8.0 Downloads | NVIDIA Developer

?選項如圖所示:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cudnn

1、復制圖片/官網下邊的全部命令,粘貼到WSL2-Ubuntu終端窗口中,按ENTER鍵運行

2、執行命令后會自動進行下載和安裝:

3、暫時性地驗證 cuDNN 安裝

此時,暫時性地驗證 cuDNN 安裝是否成功可以通過以下方法:

檢查文件路徑的方法
cuDNN 的庫文件通常會被安裝到`/usr/lib/x86_64-linux-gnu`或`/usr/local/cuda/lib64`目錄下。你可以通過以下命令檢查這些文件是否存在:

ls /usr/lib/x86_64-linux-gnu/libcudnn*

?輸出應該如下所示:

love@AI:~$ ls /usr/lib/x86_64-linux-gnu/libcudnn*
/usr/lib/x86_64-linux-gnu/libcudnn.so
/usr/lib/x86_64-linux-gnu/libcudnn.so.9
/usr/lib/x86_64-linux-gnu/libcudnn.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv.so
/usr/lib/x86_64-linux-gnu/libcudnn_adv.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_adv.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_adv_static_v9.a
/usr/lib/x86_64-linux-gnu/libcudnn_cnn.so
/usr/lib/x86_64-linux-gnu/libcudnn_cnn.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_cnn.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_static_v9.a
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled.so
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled_static_v9.a
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled.so
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled_static_v9.a
/usr/lib/x86_64-linux-gnu/libcudnn_graph.so
/usr/lib/x86_64-linux-gnu/libcudnn_graph.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_graph.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_graph_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_graph_static_v9.a
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic.so
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic_static_v9.a
/usr/lib/x86_64-linux-gnu/libcudnn_ops.so
/usr/lib/x86_64-linux-gnu/libcudnn_ops.so.9
/usr/lib/x86_64-linux-gnu/libcudnn_ops.so.9.8.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_static.a
/usr/lib/x86_64-linux-gnu/libcudnn_ops_static_v9.a

從我的提供的輸出結果來看,cuDNN 庫文件已經成功安裝在`/usr/lib/x86_64-linux-gnu`目錄下,而不是`/usr/local/cuda/lib64`。這說明 cuDNN 的安裝路徑是正確的,并且系統已經正確配置了相關的庫文件。

以下是驗證結果解釋:

? cuDNN 庫文件存在:

? 我已經找到了多個 cuDNN 的動態鏈接庫(如`libcudnn.so`、`libcudnn.so.9`、`libcudnn.so.9.8.0`)和靜態庫(如`libcudnn_adv_static.a`、`libcudnn_cnn_static_v9.a`等)。

? 這些文件的存在表明 cuDNN 已正確安裝。


? CUDA 目錄下沒有 cuDNN 文件:

? `/usr/local/cuda/lib64`目錄下沒有找到 cuDNN 文件,這是因為 cuDNN 的安裝路徑是`/usr/lib/x86_64-linux-gnu`,而不是`/usr/local/cuda`。

? 這是正常的,因為 cuDNN 的安裝路徑通常由系統包管理器(如`apt`)決定,而不是手動安裝到 CUDA 的目錄下。

小結:從我的輸出結果來看,cuDNN 已正確安裝在 ? /usr/lib/x86_64-linux-gnu ? 目錄下。

接下來我們將通過安裝Anaconda之后,在與系統隔離的虛擬環境中安裝Pytorch來完全地驗證CUDA和cuDNN的安裝是否正確。


?

(三)安裝Anaconda

通過查詢,截止2025年03月06日,最新版本Anaconda完整文件名為:Anaconda3-2024.10-1-Linux-x86_64.sh

1、通過以下命令下載和安裝:

復制命令粘貼到WSL2-Ubuntu終端窗口中,按ENTER鍵運行

wget -P /tmp https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh # 下載anaconda安裝包至 /tmp 目錄下
bash /tmp/Anaconda3-2024.10-1-Linux-x86_64.sh # 安裝anaconda

2、執行命令后會自動進行下載完成后會進入安裝步驟:?

此時要點擊ENTER鍵后一直按著不松開,來翻頁閱讀安裝前協議

?繼續按著ENTER鍵不松手,直到出現輸入框才停止

一直按到出現輸入框,按多了也沒關系,不輸入就不能繼續

?用鍵盤手動輸入“yes”,之后按ENTER回車鍵確認輸入。然后進入到下邊這個界面:

這會會詢問安裝位置,默認不修改則繼續按一次ENTER鍵確認使用默認安裝路徑:

之后安裝會詢問:是否要集成到shell當中,自動進入默認虛擬環境??

建議輸入“yes”

?

此時安裝完成。

建議關閉終端,然后重新打開,看看是否自動進入默認的conda的base虛擬環境了:?

?可以看到重新打開WSL2-Ubuntu終端后已自動激活base默認的Anaconda虛擬環境了。

3、驗證Anaconda的安裝

驗證 Conda 安裝是否成功可以通過以下幾種方法。這些方法可以幫助你確認 Conda 是否正確安裝,并且能夠正常運行。


方法 1:檢查 Conda 版本
運行以下命令來檢查 Conda 的版本號。如果 Conda 安裝成功,它會顯示當前的版本信息:

conda --version


如果輸出類似以下內容,則說明 Conda 安裝成功:


如果沒有輸出,或者提示`conda: command not found`,則說明 Conda 沒有正確安裝,或者其路徑沒有被添加到系統的環境變量中。


方法 2:檢查 Conda 環境
運行以下命令來查看當前的 Conda 環境列表:

conda env list


如果 Conda 安裝成功,你會看到類似以下的輸出,列出所有已創建的 Conda 環境:


?

方法 3:創建并激活新的 Conda 環境
你可以創建一個新的 Conda 環境并激活它,以驗證 Conda 的功能是否正常:


? 創建新的環境:

conda create -n testenv python=3.9

? 激活環境:

conda activate testenv

? 檢查當前環境:

conda info --envs


如果輸出顯示當前激活的環境是`testenv`,則說明 Conda 正常工作:


# conda environments:
#
base ? ? ? ? ? ? ? ? ? ? /home/love/miniconda3
testenv ? ? ? ? ? ? ? * ?/home/love/miniconda3/envs/testenv
```

方法 4:安裝并驗證 Python 包
在激活的 Conda 環境中,安裝一個常用的 Python 包(如`numpy`),并驗證其是否正常工作:


? 安裝包:

?conda install numpy

? 驗證安裝:

?python -c "import numpy; print(numpy.__version__)"


如果輸出顯示了`numpy`的版本號(例如`1.23.4`),則說明 Conda 和 Python 環境正常工作。


方法 5:檢查 Conda 配置
運行以下命令來檢查 Conda 的配置信息:

conda config --show


這將顯示 Conda 的配置文件路徑、默認環境路徑、通道(channels)等信息。如果輸出正常,說明 Conda 的配置文件沒有問題。


方法 6:檢查 Conda 的初始化
如果你在安裝 Conda 后沒有運行初始化命令,可能會導致`conda`命令無法正常使用。運行以下命令來初始化 Conda:

conda init


然后重新打開終端窗口,再次運行`conda --version`來驗證。

conda --version


小結
通過以上方法,你可以全面驗證 Conda 是否正確安裝并正常工作。如果在驗證過程中遇到問題,請檢查以下內容:

? 確保 Conda 的安裝路徑已添加到系統的環境變量中。

? 確保 Conda 初始化完成。

? 如果仍然有問題,可以嘗試重新安裝 Conda。

三、安裝Pytorch并驗證CUDA12.8、cuDNN、Anaconda、Pytorch的安裝

(一)安裝Pytorch

我們就用默認的base環境來安裝torch進行驗證WSL2-Ubuntu的整個深度學習環境的搭建是否成功

目前CUDA12.8版本還不支持conda命令安裝,今后torch官方會更新出conda包,我們就先用官方給的pip命令安裝Preview (Nightly)版:

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

?過一會后安裝完成:

?接下來我們將用這個重要的深度學習庫來驗證之前的所有安裝。

(二)用Pytorch并驗證CUDA12.8、cuDNN、Anaconda、Pytorch的安裝

先關閉WSL2-Ubuntu終端后,重新打開WSL2-Ubuntu終端;

在WSL2-Ubuntu終端內輸入“python”并回車調起python:

python

?

復制以下整段代理粘貼后按ENTER回車鍵支持驗證:

import torch  # 導入 PyTorch 庫print("PyTorch 版本:", torch.__version__)  # 打印 PyTorch 的版本號# 檢查 CUDA 是否可用,并設置設備("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("設備:", device)  # 打印當前使用的設備
print("CUDA 可用:", torch.cuda.is_available())  # 打印 CUDA 是否可用
print("cuDNN 已啟用:", torch.backends.cudnn.enabled)  # 打印 cuDNN 是否已啟用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 創建兩個隨機張量(默認在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 將張量移動到指定設備(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 對張量進行逐元素相加
z = x + y# 打印結果
print("張量 z 的值:")
print(z)  # 輸出張量 z 的內容

?如果輸出如下,則表明CUDA12.8、cuDNN、Anaconda、Pytorch全部安裝成功!

從上邊的輸出來看,你已經成功地在 Python 中導入了 PyTorch,并且確認了 CUDA 和 cuDNN 的可用性。你的代碼運行正常,并且 PyTorch 正在使用 GPU(`cuda:0`)進行計算。以下是對代碼和輸出的總結:

(base) love@AI:~$ python
Python 3.12.7 | packaged by Anaconda, Inc. | (main, Oct  4 2024, 13:27:36) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch  # 導入 PyTorch 庫
"PyTorch 版本:", torch.__version__)  # 打印 PyTorch 的版本號# 檢查 CUDA 是否可用,并設置設備("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("設備:", device)  # 打印當前使用的設備
print("CUDA 可用:", torch.cuda.is_available())  # 打印 CUDA 是否可用
print("cuDNN 已啟用:", torch.backends.cudnn.enabled)  # 打印 cuDNN 是否已啟用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 創建兩個隨機張量(默認在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 將張量移動到指定設備(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 對張量進行逐元素相加
z = x + y# 打印結果
print("張量 z 的值:")
print(z)  # 輸出張量 z 的內容>>>
>>> print("PyTorch 版本:", torch.__version__)  # 打印 PyTorch 的版本號
PyTorch 版本: 2.7.0.dev20250306+cu128
>>>
>>> # 檢查 CUDA 是否可用,并設置設備("cuda:0" 或 "cpu")
>>> device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
>>> print("設備:", device)  # 打印當前使用的設備
設備: cuda:0
>>> print("CUDA 可用:", torch.cuda.is_available())  # 打印 CUDA 是否可用
CUDA 可用: True
>>> print("cuDNN 已啟用:", torch.backends.cudnn.enabled)  # 打印 cuDNN 是否已啟用
cuDNN 已啟用: True
>>>
>>> # 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
>>> print("支持的 CUDA 版本:", torch.version.cuda)
支持的 CUDA 版本: 12.8
>>> print("cuDNN 版本:", torch.backends.cudnn.version())
cuDNN 版本: 90701
>>>
>>> # 創建兩個隨機張量(默認在 CPU 上)
>>> x = torch.rand(5, 3)
>>> y = torch.rand(5, 3)
>>>
>>> # 將張量移動到指定設備(CPU 或 GPU)
>>> x = x.to(device)
>>> y = y.to(device)
>>>
>>> # 對張量進行逐元素相加
>>> z = x + y
>>>
>>> # 打印結果
>>> print("張量 z 的值:")
張量 z 的值:
>>> print(z)  # 輸出張量 z 的內容
tensor([[0.8231, 0.9657, 1.3131],[0.8789, 1.4404, 0.8304],[0.8528, 1.3328, 1.9110],[1.0722, 0.6289, 1.4093],[1.1559, 0.8878, 0.5438]], device='cuda:0')
>>>


---

代碼運行結果:
PyTorch 版本: 2.7.0.dev20250306+cu128
設備: cuda:0
CUDA 可用: True
cuDNN 已啟用: True
支持的 CUDA 版本: 12.8
cuDNN 版本: 90701

---

關鍵信息:

? PyTorch 版本:`2.7.0.dev20250306+cu128`

? 這是一個開發版本(`dev`),并且是針對 CUDA 12.8 的版本。


? 設備:`cuda:0`

? 表示 PyTorch 已成功檢測到 GPU,并將使用第一個 GPU 設備。


? CUDA 和 cuDNN:

? CUDA 可用:`True`,表示系統支持 CUDA,PyTorch 可以利用 GPU 加速。

? cuDNN 已啟用:`True`,表示 cuDNN 已啟用,這有助于進一步加速深度學習任務。

? 支持的 CUDA 版本:`12.8`,表示 PyTorch 支持 CUDA 12.8。

? cuDNN 版本:`90701`(即 cuDNN 9.7.1)。


---

如果我們遇到任何問題(例如 CUDA 不可用),請確保:

? 檢查 GPU 驅動和 CUDA 安裝:

? GPU 驅動是最新的。

? 安裝了正確版本的 CUDA 和 cuDNN。

? PyTorch 版本與 CUDA 版本兼容。


---

【Windows 11 中部署 Linux 項目 - CSDN App】https://blog.csdn.net/u014451778/article/details/144777265?sharetype=blog&shareId=144777265&sharerefer=APP&sharesource=u014451778&sharefrom=link


至此,在Windosw系統上的WSL2-Ubuntu深度學習環境配置完成,可以在Windosw系統上優雅地借助Windosw的易用性和Linux系統的高效性進行項目部署和開發調試了。

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

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

相關文章

Ubuntu 24.04.2 允許 root 登錄桌面、 ssh 遠程、允許 Ubuntu 客戶機與主機拖拽傳遞文件

允許 root 登錄桌面 修改 /etc/pam.d/gdm-autologin , /etc/pam.d/gdm-password 加 # 以注釋掉 auth required pam_succeed_if.so user ! root quiet_success 允許 root 通過 ssh 登錄 修改 /etc/ssh/sshd_config ... #PermitRootLogin prohibit-password PermitRootLogin …

SQLAlchemy系列教程:如何執行原生SQL

Python中的數據庫交互提供了高級API。但是&#xff0c;有時您可能需要執行原始SQL以提高效率或利用數據庫特定的特性。本指南介紹在SQLAlchemy框架內執行原始SQL。 在SQLAlchemy中執行原生SQL SQLAlchemy雖然以其對象-關系映射&#xff08;ORM&#xff09;功能而聞名&#xff…

基于SpringBoot的手機銷售網站設計與實現(源碼+SQL腳本+LW+部署講解等)

專注于大學生項目實戰開發,講解,畢業答疑輔導&#xff0c;歡迎高校老師/同行前輩交流合作?。 技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;…

瀏覽器安全問題

1. XSS攻擊 概念 XSS 攻擊指的是跨站腳本攻擊&#xff0c;是一種代碼注入攻擊。攻擊者通過在網站注入惡意腳本&#xff0c;使之在用戶的瀏覽器上運行&#xff0c;從而盜取用戶的信息如 cookie 等 XSS本質是因為網站沒有對惡意代碼進行過濾&#xff0c;與正常代碼混合在一起了…

Spring(五)容器-依賴注入的三種方式

目錄 總結&#xff1a;通用的三種注入方式 1 字段注入 2 構造器注入 3 set注入 總結&#xff1a;通用的三種注入方式 優先使用構造器注入謹慎使用 Setter 注入避免濫用字段注入 通過構造器傳入依賴&#xff0c;確保對象創建時即完成初始化。通過 Setter 方法注入依賴&#x…

Python貝殼網二手小區數據爬取(2025年3月更)

文章目錄 一、代碼整體架構解析二、各部分代碼詳解1. main()主函數解析2. 會話初始化&#xff08;偽裝瀏覽器身份&#xff09;3. 動態參數生成&#xff08;反爬蟲核心機制&#xff09;4. 列表頁抓取&#xff08;獲取小區列表&#xff09;5. 列表頁解析&#xff08;提取小區信息…

使用服務器搭建一個專屬的密碼管理工具Vaultwarden

一、服務器配置與Docker環境 ?實例選型與系統準備? ?推薦配置?&#xff1a;?1核2GB內存?&#xff08;萊卡云L1型實例&#xff09;&#xff0c;Vaultwarden資源占用低&#xff0c;適合輕量級部署?34。?操作系統?&#xff1a;選擇 ?Ubuntu 22.04 LTS?&#xff0c;兼容…

安孚科技攜手政府產業基金、高能時代發力固態電池,開辟南孚電池發展新賽道

安孚科技出手&#xff0c;發力固態電池。 3月7日晚間&#xff0c;安孚科技&#xff08;603031.SH&#xff09;發布公告稱&#xff0c;公司控股子公司南孚電池擬與南平市綠色產業投資基金有限公司&#xff08;下稱“南平綠色產業基金”&#xff09;、高能時代&#xff08;廣東橫…

IO學習---->線程

1.創建兩個線程&#xff0c;分支線程1拷貝文件的前一部分&#xff0c;分支線程2拷貝文件的后一部分 #include <head.h> sem_t sem; long half_size 0; // 全局變量&#xff0c;供所有線程共享void* product(void *arg) {FILE *src fopen("IO.text", "…

深度學習分詞器char-level實戰詳解

一、三種分詞器基本介紹 word-level&#xff1a;將文本按照空格或者標點分割成單詞&#xff0c;但是詞典大小太大 subword-level&#xff1a;詞根分詞&#xff08;主流&#xff09; char-level&#xff1a;將文本按照字母級別分割成token 二、charlevel代碼 導包&#xff1…

基于SpringBoot實現旅游酒店平臺功能六

一、前言介紹&#xff1a; 1.1 項目摘要 隨著社會的快速發展和人民生活水平的不斷提高&#xff0c;旅游已經成為人們休閑娛樂的重要方式之一。人們越來越注重生活的品質和精神文化的追求&#xff0c;旅游需求呈現出爆發式增長。這種增長不僅體現在旅游人數的增加上&#xff0…

git規范提交之commitizen conventional-changelog-cli 安裝

一、引言 使用規范的提交信息可以讓項目更加模塊化、易于維護和理解&#xff0c;同時也便于自動化工具&#xff08;如發布工具或 Changelog 生成器&#xff09;解析和處理提交記錄。 通過編寫符合規范的提交消息&#xff0c;可以讓團隊和協作者更好地理解項目的變更歷史和版本…

前端實現版本更新自動檢測?

&#x1f916; 作者簡介&#xff1a;水煮白菜王&#xff0c;一位資深前端勸退師 &#x1f47b; &#x1f440; 文章專欄&#xff1a; 前端專欄 &#xff0c;記錄一下平時在博客寫作中&#xff0c;總結出的一些開發技巧和知識歸納總結?。 感謝支持&#x1f495;&#x1f495;&a…

硬件基礎(4):(5)設置ADC電壓采集中MCU的參考電壓

Vref 引腳通常是 MCU (特別是帶有 ADC 的微控制器) 上用來提供或接收基準電壓的引腳&#xff0c;ADC 會以該基準電壓作為量程參考對輸入模擬信號進行數字化轉換。具體來說&#xff1a; 命名方式 在不同廠家的 MCU 中&#xff0c;Vref 引腳可能會被標記為 VREF / VREF- / VREF_…

postman接口請求中的 Raw是什么

前言 在現代的網絡開發中&#xff0c;API 的使用已經成為數據交換的核心方式之一。然而&#xff0c;在與 API 打交道時&#xff0c;關于如何發送請求體&#xff08;body&#xff09;內容類型的問題常常困擾著開發者們&#xff0c;尤其是“raw”和“json”這兩個術語之間的區別…

為什么要使用前綴索引,以及建立前綴索引:sql示例

背景&#xff1a; 你想啊&#xff0c;數據庫里有些字段&#xff0c;它老長了&#xff0c;就像那種 varchar(255) 的字段&#xff0c;這玩意兒要是整個字段都拿來建索引&#xff0c;那可太占地方了。打個比方&#xff0c;這就好比你要在一個超級大的筆記本上記東西&#xff0c;每…

【語料數據爬蟲】Python爬蟲|批量采集會議紀要數據(1)

前言 本文是該專欄的第2篇,后面會持續分享Python爬蟲采集各種語料數據的的干貨知識,值得關注。 在本文中,筆者將主要來介紹基于Python,來實現批量采集“會議紀要”數據。同時,本文也是采集“會議紀要”數據系列的第1篇。 采集相關數據的具體細節部分以及詳細思路邏輯,筆…

Android 線程池實戰指南:高效管理多線程任務

在 Android 開發中&#xff0c;線程池的使用非常重要&#xff0c;尤其是在需要處理大量異步任務時。線程池可以有效地管理線程資源&#xff0c;避免頻繁創建和銷毀線程帶來的性能開銷。以下是線程池的使用方法和最佳實踐。 1. 線程池的基本使用 &#xff08;1&#xff09;創建線…

SQL29 計算用戶的平均次日留存率

SQL29 計算用戶的平均次日留存率 計算用戶的平均次日留存率_牛客題霸_牛客網 題目&#xff1a;現在運營想要查看用戶在某天刷題后第二天還會再來刷題的留存率。 示例&#xff1a;question_practice_detail -- 輸入&#xff1a; DROP TABLE IF EXISTS question_practice_detai…

深度學習分類回歸(衣帽數據集)

一、步驟 1 加載數據集fashion_minst 2 搭建class NeuralNetwork模型 3 設置損失函數&#xff0c;優化器 4 編寫評估函數 5 編寫訓練函數 6 開始訓練 7 繪制損失&#xff0c;準確率曲線 二、代碼 導包&#xff0c;打印版本號&#xff1a; import matplotlib as mpl im…