人工智能学习环境配置

文章目录

  • 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.mzph.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(截止到今天最新版&…