人工智能學習環境配置

文章目錄

  • Python、CUDA、cuDNN、PyTorch 和 Anaconda 的介紹
    • Python
    • CUDA
    • cuDNN
    • PyTorch
    • Anaconda
    • 聯系
  • 安裝
    • n卡驅動更新
    • 安裝 Anaconda
    • Anaconda配置鏡像源
    • CUDA安裝
    • Cudnn安裝
    • Anaconda初始化
    • 創建虛擬環境
    • 安裝 PyTorch
    • 驗證安裝
  • 可能的錯誤
    • SSL錯誤

Python、CUDA、cuDNN、PyTorch 和 Anaconda 的介紹

在當今的深度學習和數據科學領域,Python、CUDA、cuDNN、PyTorch 和 Anaconda 是不可或缺的工具。

Python

  • Python 是一種廣泛使用的高級編程語言,因其簡潔的語法和強大的庫支持而受到數據科學家和機器學習工程師的青睞。Python 提供了豐富的庫,比如 NumPy、Pandas 和 Matplotlib,使得數據處理和可視化變得更加簡單。此外,Python 還與許多深度學習框架兼容,特別是 PyTorch 和 TensorFlow。

CUDA

  • CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的一種并行計算平臺和編程模型,允許開發者利用 NVIDIA 的 GPU 進行通用計算。通過 CUDA,程序員可以編寫可以在 GPU 上運行的代碼,從而顯著加速計算任務。對于深度學習來說,使用 CUDA 可以大幅提高模型訓練和推理的速度。

cuDNN

  • cuDNN(NVIDIA CUDA Deep Neural Network library)是一個用于深度神經網絡的 GPU 加速庫,它依賴于 CUDA 提供的并行計算能力。cuDNN 提供了一系列優化的算法,可以用來實現卷積、池化、歸一化等操作,幫助開發者在使用深度學習框架時提升性能。

PyTorch

  • PyTorch 是一個開源的深度學習框架,由 Facebook 開發,廣泛用于學術研究和工業應用。PyTorch 支持動態計算圖,使得模型的構建和調試更加靈活和直觀。它天然與 CUDA 和 cuDNN 集成,能夠充分利用 GPU 的計算能力,加速深度學習任務。

Anaconda

  • Anaconda 是一個用于科學計算的開源包管理和環境管理工具,特別適合數據科學和機器學習項目。它可以幫助用戶輕松管理 Python 版本和依賴庫,創建虛擬環境。通過 Anaconda,用戶可以快速安裝 PyTorch 及其依賴,并管理不同項目的環境。

聯系

  • Python 是所有這些工具的基礎語言,用戶使用 Python 編寫深度學習模型。
  • Anaconda 提供了一個簡化的環境管理和包安裝工具,使得用戶可以方便地安裝和配置 Python 及其相關庫,包括 PyTorch、CUDA 和 cuDNN。
  • CUDA 提供了在 GPU 上并行計算的能力,PyTorch 可以利用 CUDA 來加速模型訓練。
  • cuDNN 是專為深度學習優化的庫,PyTorch 在底層使用 cuDNN 來執行高效的神經網絡操作。

安裝

n卡驅動更新

  • n卡驅動更新

安裝 Anaconda

  1. 下載并安裝Anaconda Anaconda 清華鏡像下載。
    在這里插入圖片描述
  • 選擇最新和系統兼容的版本

Anaconda配置鏡像源

  • anaconda鏡像源
#中科大
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
#設置搜索時顯示通道地址
conda config --set show_channel_urls yes
#清華
conda config --add channels https:/mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
#設置搜索時顯示通道地址
conda config --set show_channel_urls yes

CUDA安裝

  1. 在終端使用nvidia-smi檢查顯卡支持的最高cuda版本,例如下圖中3060驅動最高值支持CUDA為12.8
C:\Users\kongyue>nvidia-smi
Wed Feb 19 15:11:29 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 572.16                 Driver Version: 572.16         CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060      WDDM  |   00000000:04:00.0  On |                  N/A |
|  0%   44C    P8             17W /  170W |    1043MiB /  12288MiB |     11%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
  1. 打開cuda版本列表,目前最新的版本為12.8,建議使用穩定版本12.6
    在這里插入圖片描述
  2. 正常點擊安裝包,進行安裝即可,如果出現系統檢查錯誤,請重啟電腦,再次安裝。
  3. 在終端輸入nvcc -V檢驗cuda安裝是否成功。
C:\Users\kongyue>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Oct_30_01:18:48_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0

Cudnn安裝

  1. 查看cudnn和cuda的版本兼容文檔,可以看到cuDNN9.7.1支持較多本,還需要注意Nvidia驅動版本,建議更新到最新本版
  2. cuDNN歷史版本
    在這里插入圖片描述
  3. 下載cuDNN,如9.7.1版本https://developer.nvidia.com/cudnn-9-7-1-download-archive
    在這里插入圖片描述
  4. 可視化安裝cuDNN后,在終端執行命令檢驗cudNN是否安裝成功。
# 進入`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\extras\demo_suite`
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\extras\demo_suite
# 依次執行測試程序
bandwidthTest.exe 
deviceQuery.exe
# bandwidthTest.exe 測試結果
Result = PASSNOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
# deviceQuery.exe 測試結果
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.8, CUDA Runtime Version = 12.6, NumDevs = 1, Device0 = NVIDIA GeForce RTX 3060
Result = PASS

Anaconda初始化

  • 使用管理員身份運行終端,輸入以下命令,防止出現’Run ‘conda init’ before ‘conda activate’'的錯誤提示
conda init

創建虛擬環境

conda create -n myenv python=3.9
conda activate myenv

安裝 PyTorch

  • 安裝穩定版本的CUDA12.4(GPU版本)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 如果安裝出現問題,卸載命令如下:
#卸載當前pytorch
pip uninstall torch torchvision torchaudio
# 清除掉對應的pip緩存
pip cache purge

驗證安裝

  • 通過以下 Python 代碼驗證 PyTorch 是否正確安裝并能夠使用 GPU:
import torch# 檢查 CUDA 是否可用
print(torch.cuda.is_available())if torch.cuda.is_available():# 獲取可用的 CUDA 設備數量print("可用的 CUDA 設備數量:", torch.cuda.device_count())# 獲取當前使用的 CUDA 設備索引print("當前 CUDA 設備索引:", torch.cuda.current_device())# 獲取指定索引 CUDA 設備的名稱print("當前 CUDA 設備名稱:", torch.cuda.get_device_name(0))# 創建一個張量并將其移動到 CUDA 設備上x = torch.tensor([1.0, 2.0]).cuda()y = torch.tensor([3.0, 4.0]).cuda()z = x + yprint("在 CUDA 上計算的結果:", z)
else:print("CUDA 不可用")

可能的錯誤

SSL錯誤

  • 錯誤信息如下:
CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue.
  • 解決方法:關閉魔法上網工具即可

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

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

相關文章

【C語言】C語言 食堂自動化管理系統(源碼+數據文件)【獨一無二】

👉博__主👈:米碼收割機 👉技__能👈:C/Python語言 👉專__注👈:專注主流機器人、人工智能等相關領域的開發、測試技術。 【C語言】C語言 食堂自動化管理系統(源…

DeepSeek是什么?兩種模型的對比?

最近DeepSeek的風也是很大,它也是很火,那么DeepSeek是什么呢? 什么是DeepSeek? DeepSeek是一家專注通用人工智能(AGI)的中國科技公司,主攻大模型研發與應用。DeepSeek-R1是其開源的推理模型&a…

【架構】分層架構 (Layered Architecture)

一、分層模型基礎理論 ![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/0365cf0bfa754229bdedca6b472bffc7.png 1. 核心定義 分層架構(Layered Architecture)模型是一種常見的軟件設計架構,它將軟件系統按照功能劃分為不同的層次,每個層次都有特定的職責和功能…

基于MATLAB的均勻面陣MUSIC算法DOA估計仿真

基于MATLAB的均勻面陣MUSIC算法DOA估計仿真 文章目錄 前言一、二維MUSIC算法原理二、二維MUSIC算法MATLAB仿真三、MATLAB源代碼總結 前言 \;\;\;\;\; 在波達角估計算法中,MUSIC 算法與ESPRIT算法屬于特征結構子空間算法,是波達角估計算法中的基石。在前面…

組學數據分析實操系列 |(四) 富集氣泡圖的繪制

前言:在上一篇中,我們介紹了利用Metascape零代碼實現富集分析,但是Metascape的富集分析結果是以柱狀圖的形式展示的。文章中更常使用的富集結果可視化方式是氣泡圖。氣泡圖可以通過氣泡的坐標、形狀、顏色、大小等來展示更加豐富的富集分析結果&#xff…

實現一個專注應用-后端開發(一)-搭建

搭建后端服務 搭建服務拆分下用戶服務 增加公共庫通用模塊 運行一下接入數據庫安裝Prisma增加prisma庫 redis增加redis服務 搭建服務 使用nestjs來做 這里是nestjs的網站Nestjs 安裝 nest npm i -g nestjs/cli創建一個項目 并在開發工具打開 nest new todonest new xx 是新…

C++17并行化加速STL算法——std::execution

C17 并行化STL算法 文章目錄 C17 并行化STL算法概念環境準備工具類 并行算法 - 使用并行算法 - 執行策略總覽選擇標準詳細介紹順序執行 seq并行化順序執行 par并行化亂序執行 par_unseq 并行算法 - 異常處理可以不使用并行算法并行算法 - 限制并行算法有哪些原有算法17引入新算…

Deepseek 懟CHATGPT實況

提示詞: 用犀利的語言批評ChatGPT 深度思考(R1) 嗯,用戶讓我用犀利的語言批評ChatGPT。首先,我需要理解他們的動機。可能他們遇到了ChatGPT的某些問題,比如回答不準確或者缺乏深度,所以想表達不滿。也有…

always和assign語法區別

always語句可以帶時鐘, 也可以不帶時鐘。 一,assign和always區別 assign 語句使用時不能帶時鐘。 assign a=1; assign b=2; 在always不帶時鐘時,邏輯功能和assign完全一致,都是只產生組合邏輯。比較簡單的組合邏輯推薦使用assign語句,比較復雜的組合邏輯推薦使用 al…

解析跨域:原理、解決方案與實踐指南

解析跨域:原理、解決方案與實踐指南 🌐 在現代Web開發中,跨域問題是一個常見且重要的挑戰。隨著互聯網應用的日益復雜,前端與后端之間的交互越來越頻繁,跨域請求的需求也隨之增加。 一、跨域問題的本質與產生條件 &a…

鴻蒙開發:熟知@BuilderParam裝飾器

前言 本文代碼案例基于Api13。 在實際的開發中,我們經常會遇到自定義組件的情況,比如通用的列表組件,選項卡組件等等,由于使用方的樣式不一,子組件是動態變化的,針對這一情況,就不得不讓使用方把…

MSI微星電腦沖鋒坦克Pro Vector GP76 12UGS(MS-17K4)原廠Win11系統恢復鏡像,含還原功能,預裝OEM系統下載

適用機型:【MS-17K4】 鏈接:https://pan.baidu.com/s/1P8ZgXc6S_J9DI8RToRd0dQ?pwdqrf1 提取碼:qrf1 微星筆記本原裝出廠WINDOWS11系統自帶所有驅動、出廠主題壁紙、系統屬性專屬聯機支持標志、Office辦公軟件、MSI Center控制中心等預裝…

【面試題】杭州士騰科技-面試題匯總

歷史小劇場 歷史是一個好客的主人,卻從不容許客人取代它的位置。歷史也從來就不是一個人或事幾個人可以支配創造的。所謂時勢造英雄,實乃至理名言。 真正支配歷史的人,不是朱元璋,是稻田里辛勤勞作的老農,是官道上來往…

Go入門之map

map類型是引用類型,必須初始化才能使用,為key-value形式 var userinfo make(map[string]string)userinfo["username"] "zhangsan"var user map[string]string{"username": "張三","age": &qu…

切換鏡像源(npm)

常見的npm鏡像源 官方源 URL: https://registry.npmjs.org 淘寶鏡像源(npmmirror) URL: https://registry.npmmirror.com 其他常用鏡像源 URL: https://registry.cnpmjs.org (CNPM) 這里是引用 切換npm鏡像源 切換到官方源 npm config set registry http…

【大模型】DeepSeek 高級提示詞技巧使用詳解

目錄 一、前言 二、DeepSeek 通用提示詞技巧 2.1 DeepSeek 通用提示詞技巧總結 三、DeepSeek 進階使用技巧 3.1 DeepSeek一個特定角色的人設 3.1.1 為DeepSeek設置角色操作案例一 3.1.2 為DeepSeek設置角色操作案例二 3.2 DeepSeek開放人設升級 3.2.1 特殊的人設&#…

Qt開發③Qt的信號和槽_概念+使用+自定義信號和槽+連接方式

目錄 1. 信號和槽概述 1.1 事件和控件 1.2 信號的本質 1.3 槽的本質 2. 信號和槽的使用 2.1 connect 連接信號和槽 2.2 查看內置信號和槽 2.3 Qt Creator 生成信號槽代碼 3. 自定義信號和槽 3.1 不帶參數的信號和槽 3.2 帶參數的信號和槽 4. 信號與槽的連接方式 4…

【動態路由】系統Web URL資源整合系列(后端技術實現)【apisix實現】

需求說明 軟件功能需求:反向代理功能(描述:apollo、eureka控、apisix、sentinel、普米、kibana、timetask、grafana、hbase、skywalking-ui、pinpoint、cmak界面、kafka-map、nacos、gateway、elasticsearch、 oa-portal 業務應用等多個web資…

Vue2 中使用 UniApp 時,生命周期鉤子函數總結

在 Vue2 中使用 UniApp 時,生命周期鉤子函數是一個重要的概念。它允許開發者在特定的時間點運行代碼,管理組件的生命周期。以下是 Vue2 中 UniApp 常用的生命周期鉤子函數總結: 1. beforeCreate 說明: 組件實例剛被創建,此時數據…

在Ubuntu24.04上安裝Stable-Diffusion1.10.1版本

之前曾介紹過在Ubuntu22.04上安裝Stable-Diffusion: 在Ubuntu22.04上部署Stable Diffusion_ubuntu stable dif-CSDN博客 這個安裝我們使用conda python虛擬機。這次我們介紹的是在Ubuntu24.04安裝Stable-Diffusion的最新版本V1.10.1(截止到今天最新版&…