CUDA cuDNN和pytorch(GPU版)的完整安裝教程

?
* 說明: 本教程使用wsl-ubuntu20.04, 其他發行版linux的命令可能有所區別.
*實測機型: i5-13500HX | RTX 4060 Laptop

一、下載CUDA12.X版本

這里以下載CUDA12.2為例。

  1. 前往cuda-12.2下載頁, 按照如圖方式選擇合適的選項:
    根據你的系統進行選擇
  2. 按照官方給出的命令, 在bash中依此執行:
    bash安裝命令
?wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/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
  1. 添加環境變量
    使用vim等打開~/.bashrc,在末尾添加:
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
  1. 驗證安裝是否成功
source ~/.bashrc
nvcc -V  # 查看CUDA版本
二、下載cuDNN
  1. 前往cuDNN Archive 下載合適的cudnn版本。由于我們下載的是CUDA12.X版本,這里我們就選擇下載8.9.7版本的cudnn.
    選擇對應版本的cudnn
    點擊后瀏覽器會接管下載, 可以通過如圖方式復制下載鏈接.
    在這里插入圖片描述

  2. 安裝cudnn軟件包

我們在終端中輸入以下命令:

wget -O cudnn.deb <你的下載鏈接>  # 下載的文件會命名為cudnn.deb
dpkg -i cudnn.deb  # 安裝前置軟件包
sudo apt update # 更新并獲取cudnn的下載源
sudo apt-get install libcudnn8 # 正式安裝cudnn軟件包
sudo apt-get install libcudnn8-dev # 安裝cudnn開發庫(可選)

完成上述工作后,可通過下述命令檢測是否安裝成功:

ls /usr/lib/x86_64-linux-gnu/libcudnn*
ls /usr/include/cudnn.h
dpkg -l | grep -i cudnn
三、安裝GPU版的pytorch

Pytorch下載地址
Pytorch包含三個庫:torch,torchvision和torchaudio;根據社區的說明,torch-cu118版本能夠兼容CUDA12.X,可通過該命令進行安裝:

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

* 官方更新后通過pip默認下載的就是支持CUDA12.1的pytorch, 命令如下:

pip3 install torch torchvision torchaudio

注: 本教程安裝的是cu118版本, 讀者可嘗試第二種方法進行安裝。

四、驗證pytorch的CUDA可用性
  1. 先確定pytorch有沒有裝錯,可以在終端輸入pip list,查看torch版本,cu后綴就表示支持GPU。
    注意有無cu后綴
  2. 在python中執行torch.cuda.is_available() 返回True說明使用的就是GPU版本。
    在這里插入圖片描述
五、體驗Pytorch GPU和CPU運算的速度差距
import torch
from time import perf_counterdef cpu_process():x = torch.rand(1000,10000)y = torch.rand(10000,10000)start = perf_counter()x.mm(y)end = perf_counter()print('CPU process time:',end-start)def gpu_process():x = torch.rand(1000,10000).cuda()y = torch.rand(10000,10000).cuda()start = perf_counter()x.mm(y)end = perf_counter()print('GPU process time:',end-start)if __name__ == '__main__':cpu_process()  # CPU process time: 0.5139300849996289gpu_process()  # GPU process time: 0.02356865599995217

可以明顯看到GPU運算速度相比CPU快了20倍左右 !

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

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

相關文章

Trie樹的應用

Trie樹的應用 題目解題思路代碼 題目 維護一個字符串集合&#xff0c;支持兩種操作&#xff1a; I x 向集合中插入一個字符串 x x x&#xff1b;Q x 詢問一個字符串在集合中出現了多少次。 共有 N N N 個操作&#xff0c;所有輸入的字符串總長度不超過 1 0 5 10^5 105&am…

ArkTS學習筆記_封裝復用之@builderParam裝飾器

ArkTS學習筆記_封裝復用之builderParam裝飾器 作用&#xff1a; 在自定義組件中&#xff0c;該裝飾器用于裝飾函數成員變量&#xff0c;builderParam裝飾的函數成員變量的值必須是經過builder裝飾的方法。變量初始化后可以在自定義組件內調用。初始化&#xff1a; 可以使用自定…

移動應用性能關注分析哪些指標

移動應用常見性能指標 要對應用開展性能測試&#xff0c;首先需要了解需要重點關注哪些指標&#xff1f;指標的參考范圍大致是多少&#xff1f;可采用哪些工具收集這些指標&#xff1f;如何收集&#xff1f;如果指標有異常&#xff0c;大致有哪些high level的優化思路。這篇博客…

說一下GET請求和POST請求的區別

面試官常常會問到的一個問題就是&#xff1a;GET請求和POST請求的區別。因為一個看似簡單的問題就能考察出面試者對網絡協議和通信的掌握程度以及對前后端開發基礎知識是否了解、安全性意識是否足夠強&#xff0c;以及綜合分析與總結能力等。 所以答的好可以讓面試官對你刮目相…

YoloV8改進策略:卷積篇|Kan行天下之GRAM,KAN遇見Gram多項式V2版本

GRAM(GRAM可能是一個新提出的模型或方法的縮寫,這里我們根據上下文進行解釋)受到諸如TorchKAN和ChebyKAN等Kolmogorov-Arnold網絡(KAN)替代方案的啟發。GRAM引入了一種簡化的KAN模型,但同時利用了Gram多項式變換的簡單性。它與其他替代方案的不同之處在于其獨特的離散性特…

Vue3 使用emoji表情包 emoji-mart-vue-fast

文檔&#xff1a;emoji-mart-vue-fast - npm (npmjs.com) 非常簡單 代碼直接照抄即可 1. 引入 pnpm install emoji-mart-vue-fast 2. 使用 <template><Picker:data"emojiIndex":emojiSize"18":showPreview"false":infiniteScroll&quo…

【07】分布式事務解決方案

1、事務簡介 事務(Transaction)是訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit)。在關系數據庫中&#xff0c;一個事務由一組SQL語句組成。事務應該具有ACID四個特性&#xff1a;原子性、一致性、隔離性、持久性。任何事務機制在實現時&#xff0c;都應該考慮事務…

J025_斗地主游戲案例開發(簡版)

一、需求描述 完成斗地主游戲的案例開發。 業務&#xff1a;總共有54張牌&#xff1b; 點數&#xff1a;3、4、5、6、7、8、9、10、J、Q、K、A、2 花色&#xff1a;黑桃、紅桃、方片、梅花 大小王&#xff1a;大王、小王 點數分別要組合4種花色&#xff0c;大小王各一張。…

[激光原理與應用-114]:南京科耐激光-激光焊接-焊中檢測-智能制程監測系統IPM介紹 - 18 - 產品宣傳、介紹、產品價值、幫助客戶解決的問題

目錄 一、第一印象 1.1 我是誰&#xff1f;產品是什么&#xff1f;產品在產業鏈中的位置 1.2 公司在產業鏈中的位置&#xff1f;公司簡介&#xff1f; 二、IPM工作原理 2.1 IPM系統組成 2.2 基于激光熔池光學檢測原理 2.3 基于信號特征的檢測原理 三、IPM產品如何與客…

2-17,18,19 -- 關于指針

指針(pointer 聲明指針 int *p;定義指針 int a 4; int *p &a; //指針p是指向變量a的地址的指針指針數組 int *arr[5];數組指針 int (*arr)[5];函數指針 int (*fun)(int,int) // 聲明一個指向函數的指針,這個函數的返回值是int,有兩個int的參數指針的指針 int **p;…

ArkTS學習筆記_封裝復用之@Styles裝飾器

ArkTS學習筆記_封裝復用之Styles裝飾器 背景&#xff1a; 在開發中&#xff0c;如果每個組件的樣式都需要單獨設置&#xff0c;就會出現大量代碼在進行重復樣式設置&#xff0c;雖然可以復制粘貼&#xff0c;但為了代碼簡潔性和后續方便維護&#xff0c;給出的思路是&#xff…

jmeter分布式(四)

一、gui jmeter的gui主要用來調試腳本 1、先gui創建腳本 先做一個腳本 演示&#xff1a;如何做混合場景的腳本&#xff1f; 用211的業務比例 ①啟動數據庫服務 數據庫服務&#xff1a;包括mysql、redis mysql端口默認3306 netstat -lntp | grep 3306處于監聽狀態&#xf…

深入了解MySQL中的innodb_lock_wait_timeout

引言 在數據庫管理中&#xff0c;確保數據的一致性和完整性是至關重要的。MySQL的InnoDB存儲引擎通過行級鎖定機制來實現這一點。然而&#xff0c;當多個事務同時操作數據庫時&#xff0c;可能會出現鎖等待的情況。了解并合理配置innodb_lock_wait_timeout參數&#xff0c;對于…

數據庫第6次作業

內容 1、創建視圖v_emp_dept_id_1&#xff0c;查詢銷售部門的員工姓名和家庭住址 2、創建視圖v_emp_dept&#xff0c;查詢銷售部門員工姓名和家庭住址及部門名稱。 3、創建視圖v_dept_emp_count(dept_name,emp_count,avg_salay)&#xff0c;統計每個部門人數并計算平均工資。 …

Spring 使用log4j

porn.xml 引入依賴 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.23.1</version></dependency><dependency><groupId>org.apache.logging.log4j<…

解讀網傳《深圳IT圈?新解讀八小時工作制》

網傳深圳IT圈的新解讀八小時工作制 工作時間安排&#xff1a; 10:00-12:0014:00-18:0019:00-21:00 初看&#xff1a;有驚喜 上午開始時間晚&#xff1a;相對于傳統的9點開始&#xff0c;這種安排允許員工有更多的早晨時間&#xff0c;可以用來休息或處理個人事務。下午和晚上分…

typescript新規范及vue3常用的屬性解析【2024】

文章目錄 如在vue中 使用tyescript來規范定義類型解釋一下 < >的意思 定義 了 personList &#xff1a;是個數組 Array 且要告訴里面每一項 結構長什么樣 Array<PersonInter>definepropsvue3中的hooks組件父子組件 方法、數據、相互調用 如在vue中 使用tyescript來…

【LSTM和GRU極簡,和最新的TT也就是狀態】機器學習模型來學習狀態

LSTM&#xff08;長短期記憶網絡&#xff09;中的關鍵參數包括輸入門、遺忘門、輸出門、細胞狀態和隱藏狀態。以下是如何進行推理計算的示例&#xff1a; LSTM參數和公式 輸入門&#xff08;i_t&#xff09;&#xff1a;決定輸入的信息量。 遺忘門&#xff08;f_t&#xff0…

【React Native】做了一個簡約的雷達圖組件

本文目錄 【React Native】做了一個簡約的雷達圖組件獲取組件實現思路用法示例簡易用法自定義美化 結語 【React Native】做了一個簡約的雷達圖組件 最近在使用 react-native 中需要繪制雷達圖&#xff0c;沒有找到合適的小組件&#xff08;大的圖表庫未直接提供&#xff0c;需…

pico+unity3d運行測試方法

一. 發布并運行程序 這個就很簡單&#xff0c;電腦和pico數據庫連接、pico打開開發者模式、運行的時候選擇設備pico 二. pico串流助手 1.需要先下載pico的軟件 PICO Developer Center、并安裝串流助手、這種方式的話&#xff0c;安裝了向日葵的小伙伴可能有沖突、百度一下解…