深度学习环境配置Anaconda+cuda+cudnn+PyTorch——李沐大神《动手学深度学习》环境配置(巨详细,持续迭代)

2023-05-16

李沐大神《动手学深度学习》安装篇——通用AI、深度学习、机器学习环境

Anaconda+cuda+cudnn+Pytorch(手把手教你安装深度学习环境)——这里是GPU+PyTorch版本


文章目录

  • 李沐大神《动手学深度学习》安装篇——通用AI、深度学习、机器学习环境
  • 前言
  • 一、安装原理指南
  • 二、Anaconda
  • 三、cuda+cudnn
    • 1. cuda
    • 2. cudnn
  • 四、PyTorch
  • 五、jupyter notebook
  • 总结


前言

国内AI教学体系发展较晚,很多喜欢AI的同学都得不到系统的学习。当然我们也不否认国内一些优质的AI领域的课程和教学资料,这里我们主要推荐李沐大神推出的《动手学深度学习》,这门课程最初主要应用在国外一流大学的,后面也推出了中文版,李沐大神亲自下场在B站讲授中文版课程,非常值得一学,今天我们就从头开始啃《动手学深度学习》,敬畏经典。


向沐神致敬——教程传送门

一、安装原理指南

  • 该课程支持很多开源AI框架,本教程采用笔者最常用的PyTorch。
  • 首先需要安装Anaconda,作为开源的Python版本是后续一切的基础。
    (教程推荐使用更简易版本的Miniconda,对于本课程的学习两者都可以,但如果内存支持的话建议一站式下载Anaconda方便后续做其他项目)
  • 其次要安装cuda和cudnn,来通过GPU参与的各类支持,cudnn主要用于DL框架。
    (这一步需要电脑有独立显卡,需要提前了解自己显卡的情况,没有显卡可以考虑借学校实验室的卡或租用显卡,本课程并不要求显卡,但是使用显卡的效果会更好。)
  • 最后安装PyTorch框架,是目前最常见的AI框架之一,很多顶级的开源项目都支持该框架。

二、Anaconda

(最好安装的一部分)
官网传送门

直接在官网安装就会获得最新版的win-x86_64适配,需要的Linux或Mac版本的可以另外找教程。

验证方式:在cmd中输入

conda --version
python

在这里插入图片描述
在这里插入图片描述

注意:
下载后直接按照步骤按照即可,如果要更改路径请记住路径,后面会一直需要Anaconda Powershell Prompt进行后面的安装,并且后续一些安装包需要知道虚拟环境的位置。

三、cuda+cudnn

(GPU版本需要,如果是CPU版本的话直接跳到第四步)

1. cuda

首先需要做一些准备工作:

  • 检查自己显卡,查看支持的CUDA版本(笔者机器支持11.7及低版本)

直接搜索NVIDIA Control Panel
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:
该版本情况是向下兼容的,比如支持11.7就支持更低版本,而不支持更高版。

其次是在官网安装对应版本,官网传送门,注意和电脑系统、架构对应,千万要对应,不然后面可能出无法预料的问题。

  • 官网会优先推荐下载最新版本,但可能PyTorch还未更新至CUDA的最新版<预测版本不对应可能出问题,但还未尝试>,如果想下载历史版本直接搜索CUDA+版本号即可。
  • 这里有local和network两个选项,local需要下载很久,而network相当于下载一个引导程序持续联网下载组件。
  • 在配置过程中,尽可能不要动默认路径,不然后续无法被Anaconda识别并调用。
    (血泪教训,一定别改路径,不然怎么都安装不成功)
    验证是否成功:在Anaconda Powershell Prompt对应的虚拟环境中输入

nvcc --version
set cuda
在这里插入图片描述

2. cudnn

这里也是要注意版本问题,基本无坑,官网传送门。

四、PyTorch

(本文是GPU版本的PyTorch,CPU更简单一些,见传送门)
首先上官网

  • 明确系统版本、CUDA版本等信息,按需选择。
    (关于用conda还是用pip,笔者建议用pip,首先坑少,其次可能更有利于后续使用。conda安装起来极易出问题,导致最后也没有解决下载一半卡死的问题,果断换pip,但是两者的区别还没有理解和真实体验,希望后续可以专门发文说明)
  • 如果安装过程出现卡死或超时现象,可以考虑更换镜像源,参考文档。

验证是否安装成功:在Anaconda Powershell Prompt对应的虚拟环境中输入

在这里插入图片描述

如果是x.xx.x+cpu的话就成功入坑,后面咱来填坑!!!参考文档
(没有特殊设置自己下载往往会直接装了CPU版本,需要采用一些特殊指令)

  • 第一步卸载这个版本

pip uninstall torch

  • 接着在官网找到对应指令,准备好。进入pip后的那个网站,示意如下:

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
搜索https://download.pytorch.org/whl/cu117

  • 下载对应版本的torch、torchvision、torchaudio,注意python版本(cp39-python3.9)、系统、gpu(cu117-cuda11.7)。

将下载好的文件复制到虚拟环境对应位置,比如D:\anaconda\Lib\site-packages
找到虚拟环境的对应文件夹,复制完成后是这样的:
在这里插入图片描述

  • 在Anaconda Powershell Prompt对应的虚拟环境中输入以下三条指令:
pip install torch-1.7.1+cu101-cp38-cp38-win_amd64.whl
pip install torchvision-0.8.2+cu101-cp38-cp38-win_amd64.whl
pip install torchaudio-0.7.2-cp38-none-win_amd64.whl

这里就顺利完成GPU版本的PyTorch的安装,下面验证是否成功:在Anaconda Powershell Prompt对应的虚拟环境中输入

python
import torch
torch.cuda.is_available()

结果为true代表成功,另外想看版本的话再输入:

print(torch.__version__)

显示x.xx.x+cuxxx即代表成功

五、jupyter notebook

课程大多实验都可以在jupyter notebook上完成,有一个比喻很好,说jn像一个算法的草稿纸,笔者自己是很偏爱的。

  • 在对应的虚拟环境中直接输入:

jupyter notebook
即可对应环境的jupyter notebook,刚刚搭建的一系列环境均可以在该界面中使用。

但打开后发现,辛辛苦苦安装的PyTorch却无法被jupyter notebook调用,还需要完成以下步骤:

  • 输入以下命令安装插件:(注意要先激活你需要的环境)

conda install nb_conda
conda install ipykernel

  • 重启jupyter notebook就会发现,验证可知能够正常调用。
    验证方式:
import torch
torch.cuda.is_available()

总结

安装环境是比较辛苦的,而且每个人都会遇到一些奇奇怪怪的问题,往往取决于系统本身的一些乱七八糟的情况,但是作为程序员我们要学着一点点整理系统,让它尽可能地规范化。笔者这套安装也是进行了很多次,从两年前接触AI就开始装了,到现在重新装仍然还会出现新问题,但是已经不畏惧了,因为总会有亲爱的小伙伴遇到相似的问题,所以大家要勤查,这里也感谢互联网广大同行的投喂。希望大家扎实地迈出第一步,持续进步!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习环境配置Anaconda+cuda+cudnn+PyTorch——李沐大神《动手学深度学习》环境配置(巨详细,持续迭代) 的相关文章

  • Linux系统下通过命令行获取bios等相关信息

    查看服务器型号 xff1a dmidecode grep 39 Product Name 39 查看主板的序列号 xff1a dmidecode grep 39 Serial Number dmidecode t 1 查看序列号及品牌型号
  • python如何获取时间和格式化时间和日期 ?

    目录 1 time time xff08 1 xff09 用法 xff1a 用于获取当前时间戳 xff08 2 xff09 实例 2 time localtime xff08 1 xff09 语法 xff1a time localtime
  • python的datetime模块常用的语法和实例

    目录 1 datetime类获取日期时间 xff08 1 xff09 datetime datetime now 用法 xff1a 获取系统当前时间 xff08 2 xff09 datetime datetime today 用法 xff1
  • python的自定义函数的用法和实例

    目录 1 自定义函数的语法和用法 xff08 1 xff09 引入 xff08 2 xff09 语法 xff08 3 xff09 用法 xff1a 用于自定义目标函数语法 xff08 4 xff09 调用函数 语法 解释 2 实例 xff0
  • python的字典dict实例

    1 获取目标字典 xff0c 将字典中的字键和值调换 xff0c 读取名字 dict 61 39 Zara 39 39 Name 39 7 39 Age 39 39 First 39 39 Class 39 dict items 以列表返回
  • python利用read()、readline()、readlines()读取文件

    目录 1 语法和用法 2 实例 1 语法和用法 with open file mode 61 39 r 39 encoding 61 None as f 读取所有文本 data1 61 f read 读取第一行数据 data2 61 f r
  • python的panda库读写文件

    目录 1 读取excel文件 xff08 1 xff09 语法 xff08 2 xff09 实例 2 读取cvs文件 xff08 1 xff09 语法 xff08 2 xff09 实例 3 读取txt文件 xff08 1 xff09 语法
  • frankmocap

    1 配置和报错 1 1 模块缺失 ModuleNotFoundError No module named detectors body pose estimator pose2d models 下载问题 xff0c 下载完之后该文件夹下面的
  • java的三种代码注释方式

    1 注释的作用 注释是对程序语言的说明 xff0c 有助于开发者之间的交流 xff0c 方便理解和维护程序 注释不是编程语句 xff0c 不会被编译器执行 一些代码量少较少的程序 xff0c 我们加不加注释对我们的理解和修改代码没有太大影响
  • UCOS的多任务

    初学UCOS多任务调度 xff0c 总是有这样一个疑惑 xff1a 为什么多使用多任务 xff0c 写多个函数不就可以了吗 xff1f 随着不断学习 xff0c 后面终于有了一个答案 多任务是并发执行 xff0c 每个任务都做一点 xff1
  • IAR编译成功,但烧录不进去

    把默认的Simulator改为ST LINK试试 xff1f
  • ipmitool使用

    BMC IPMI常用命令 BMC Baseboard Management Controler 提供了多种通道来和主机通信 xff0c 进而检测主机的温度 风扇转速 电压 电源和现场可替代器件 为了便于用户使用 xff0c 它提供了非常丰富
  • 基于LMI的等效滑模控制

    目录 前言 1 一阶欠驱动倒立摆系统 2 基于LMI的等效滑模控制器 3 simulink仿真 3 1 simulink模型 3 2 结果分析 3 2 结论 前言 关于LMI和滑模控制的结合上两篇文章已有介绍和仿真分析 xff0c 本篇文章
  • 基于扩张观测器(LESO)的滑模控制

    目录 前言 1 二阶系统LESO观测器设计 2 基于LESO的滑模控制器设计 3 仿真分析 普通高增益项 3 1仿真模型 3 2仿真结果 3 3 总结 4 仿真分析 优化后的高增益项 4 1 优化高增益项 4 2仿真结果 4 2 1 高增益
  • 基于遗传算法和粒子群算法的PID悬架控制、LQR悬架控制和滑模悬架控制

    目录 1 基于遗传算法和粒子群算法的的PID悬架控制 1 1 两种悬架系统 1 1 1 将路面激励整合到悬架系统 1 1 2 不将路面激励整合到悬架系统 1 1 3 总结 1 2 PID经典控制理论 1 3 优化PID参数的目标函数和约束条
  • 2自由度陀螺仪滑模控制和PID控制跟踪目标轨迹

    目录 前言 1 陀螺仪模型 2 滑模跟踪控制 3 PID控制 4 总结 1 陀螺仪模型 2 滑模跟踪控制 对于2自由度陀螺仪有两个方向x y跟踪 xff0c 所以需要分别为两个方向单独设计滑模面 xff0c 这里仍以简单的线性滑模面设计分析
  • 自抗扰控制ADRC之三种微分跟踪器TD仿真分析

    目录 前言 1 全程快速微分器 1 1仿真分析 1 2仿真模型 1 3仿真结果 1 4结论 2 Levant微分器 2 1仿真分析 2 2仿真模型 2 3仿真结果 3 非线性跟踪微分器 韩教授 3 1仿真分析 3 2小结 4 总结 前言 工
  • 自抗扰控制ADRC之扩张观测器

    目录 前言 1 被控对象 被观测对象 2 非线性观测器 2 1仿真分析 2 2仿真模型 2 3仿真结果 3 线性观测器 3 1仿真模型 3 2仿真结果 4 总结和学习问题 前言 什么叫观测器 xff1f 为什么该类观测称为扩张观测器 xff
  • 基于神经网络(RBF)补偿的双关节机械手臂自适应控制

    目录 前言 1 双关节机械手臂模型 1 1 实际模型 1 2 名义模型 2 控制律设计 3 神经网络补偿自适应律设计 3 1自适应律 3 2自适应律 4 仿真分析 4 1仿真模型 4 2 仿真结果 4 3 小结 5学习问题 前言 所谓的补偿
  • PID、模糊PID、SkyHook、LQR、H2/H∞、ADRC等悬架控制合集

    罗列一下现成的悬架模型以及应用的控制算法 xff1a PID 模糊PID SkyHook LQR H2 H ADRC等 xff0c 以及kalman观测器 xff1a 半车 前后 左右 整车悬架详细推导建模和simulink仿真分析 侧倾

随机推荐

  • 1086:角谷猜想(C C++)

    题目描述 谓角谷猜想 xff0c 是指对于任意一个正整数 xff0c 如果是奇数 xff0c 则乘3加1 xff0c 如果是偶数 xff0c 则除以2 xff0c 得到的结果再按照上述规则重复处理 xff0c 最终总能够得到1 如 xff0
  • 渗透测试工具之Metasploit Framework(MSF)

    一 Metasploit Framework xff08 MSF xff09 简介 Metasploit是当前信息安全与渗透测试领域最流行的术语 xff0c 它的出现颠覆了以往的已有的渗透测试的方式 几乎所有流行的操作系统都支持Metasp
  • Test Case Framework (TCF) 简介

    TCF is a system that simplifies the creation and execution of test cases automation for that matter with minimal setup e
  • 小菜鸡的第一天

    1 CPU分配 xff0c i5四核所以给Linux分配两个核 2 内存分配 xff0c 有16GB所以分配8个g 3 硬盘 xff0c 需要创立一个独立的分区 xff0c 最好300G以上 xff08 由于个人原因分配了60G xff09
  • 小菜鸡的第二天

    绝对路径 xff1a 以 开头 代表当前路径 xff0c 或者 代表上一级目录 xff0c 或者 插入U盘之后 xff0c 在 dev文件夹下输入 ls sd 可以看到U盘信息 xff0c 要想知道插入的U盘是哪个 xff0c 重新插拔再次
  • 小菜鸡的第三天

    压缩与解压 tar vcjf 43 文件名 tar bz2 xxx xxx是要压缩的文件名 压缩命令 tar vxjf 43 xxx tar bz2 xxx是要解压缩的文件名 解压缩命令 f xff1a 使用归档文件或ARCHIVE设备 c
  • 初级算法:判断数组是否存在重复元素

    qsort函数原型是 void qsort xff08 void base size t num size t width int cdecl compare const void const void xff09 4个参数 xff1a v
  • 初级算法:删除排序数组中的重复项

    因为数组是排序的 xff0c 只要是相同的肯定是挨着的 xff0c 我们只需要遍历所有数组 xff0c 然后前后两两比较 xff0c 如果有相同的就把后面的给删除 双指针解决 使用两个指针 xff0c 右指针始终往右移动 xff0c 如果右
  • 运算符重载

    加号运算符重载 作用 xff1a 实现两个自定义数据类型相加的运算 span class token keyword class span span class token class name Person span span class
  • .在python中的作用

    的作用 点把前后连起来 xff0c 构成一种索引机制 前面是库 后面是函数 ex xff1a pybullet setAdditionalSearchPath是指在pybullet的库中引用setAdditionalSearchPath这个
  • ROS服务通信(七)C++、Python实现

    目录 简介 理论模型 服务通信自定srv 创建srv 编辑配置文件 C 43 43 实现 vscode配置 服务端实现 客户端实现 优化 Python实现 服务端实现 客户端实现 简介 服务通信也是ROS中一种极其常用的通信模式 xff0c
  • ROS中的API:C++、Python(十)实现及理解

    目录 简介 C 43 43 初始化 话题与服务相关对象 回旋函数 ros xff1a xff1a spinOnce xff08 xff09 ros xff1a xff1a spin xff08 xff09 时间相关API 时刻 持续时间 持
  • ROS Gazebo安装入门及仿真室内环境和小车实现(十九)

    目录 安装 简介 URDF与Gazebo基本集成流程 创建功能包 编写URDF文件 启动Gazebo并显示模型 launch 文件实现 命令行启动 xff08 去掉launch中的第三行加载模型 xff09 集成到launch里启动 URD
  • Test Case Framework (TCF) tcf 参数

    root 64 embargo ww13 tcf help usage tcf h v log pid tid log time config file CONFIG FILE py p CONFIG PATH state path STA
  • 第一章操作系统引论测验错题整理(二)

    中断和特权级 计算机系统中判断是否有外部中断事件发生应该在 xff09 A 进程切换时 B 执行完一条指令后 C 执行一条指令过程中 D 由用户态转入内核态时 B 解析 xff1a 因果关系 xff0c 指令执行了才知道 从用户态到内核态的
  • 多旋翼飞行器设计与控制(三)—— 机架设计

    多旋翼飞行器设计与控制 xff08 三 xff09 机架设计 一 布局设计 1 机身基本布局 共有三种 xff1a 环型 43 字型 X字型 常用X字型 xff1a 机动性更强前视相机的视场角不容易被遮挡 环形的特点 xff1a 刚性更大避
  • 路径规划与轨迹优化 —— Dijkstra算法寻找最短路径

    一 算法思路 Dijkstra算法是一种用来寻找最短路径的算法 xff0c 其中涉及的思想有贪心 动态规划 广度优先搜索等 图中g n 代表的时代价 xff0c 在机器人路径规划中可以理解为距离 二 代码 源码来源于Github xff0c
  • VSCode远程连接免密登录

    配置了VSCode远程连接服务器 xff0c 但每次打开project都需要重新输入密码 xff0c 比较麻烦 xff0c 所以下面就介绍一下如何免密码登入 在上一篇blog里面配置好VSCode远程连接服务器之后按照如下操作 步骤如下 x
  • raspberry(树莓派)的简介及实验

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 树莓派是什么 xff1f 二 使用步骤 1 主要Pin脚的编号2 使用硬件3 连接树莓派Pin位4 使用代码实验 总结
  • 深度学习环境配置Anaconda+cuda+cudnn+PyTorch——李沐大神《动手学深度学习》环境配置(巨详细,持续迭代)

    李沐大神 动手学深度学习 安装篇 通用AI 深度学习 机器学习环境 Anaconda 43 cuda 43 cudnn 43 Pytorch 手把手教你安装深度学习环境 xff09 这里是GPU 43 PyTorch版本 文章目录 李沐大神