当前位置: 首页 > article >正文

YK人工智能(二)——万字长文了解深度学习环境配置

1.1 PyTorch简介

PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,相较于Tensorflow2.x,PyTorch在API的设计上更加简洁、优雅和易懂。

1.1.1 PyTorch的发展

“All in PyTorch”,对于PyTorch的发展我们只能用一句话来概况了,PyTorch自从推出就获得巨大的关注并受到了很多人的喜欢,而最直观的莫过于下面数据所表现的简明直了。

下图来自Paper with code网站,颜色面积代表使用该框架的论文公开代码库的数量,我们可以发现截至2024年9月30日,PyTorch的代码实现已经是TensorFlow实现的10倍,我们也可以看红色部分的PyTorch正在取代他的老大哥称霸学术圈,PyTorch会借助ONNX所带来的落地能力在工业界逐渐走向主导地位。

总的来说,我们必须承认到现在为止PyTorch 1.x还是有不如别的框架的地方,但是我们相信PyTorch 2.x版本会给我们带来更大的惊喜。
在这里插入图片描述

1.1.2 PyTorch的优势

  • 更加简洁,相比于其他的框架,PyTorch的框架更加简洁,易于理解。PyTorch的设计追求最少的封装,避免重复造轮子。
  • 上手快,掌握numpy和基本的深度学习知识就可以上手。
  • PyTorch有着良好的文档和社区支持,作者亲自维护的论坛供用户交流和求教问题。Meta AI(Facebook AI)对PyTorch提供了强力支持,作为当今排名前三的深度学习研究机构,MAIR的支持足以确保PyTorch获得持续的开发更新。
  • 项目开源,在Github上有越来越多的开源代码是使用PyTorch进行开发。
  • 可以更好的调试代码,PyTorch可以让我们逐行执行我们的脚本。这就像调试NumPy一样 – 我们可以轻松访问代码中的所有对象,并且可以使用打印语句(或其他标准的Python调试)来查看方法失败的位置。
  • 越来越完善的扩展库,活力旺盛,正处在当打之年

1.2 PyTorch的安装

PyTorch的安装是我们学习PyTorch的第一步,也是经常出错的一步。在安装PyTorch时,我们通常使用的是Anaconda/miniconda+Pytorch+ IDE 的流程。

经过本节的学习,你将收获:

  • Anaconda/miniconda的安装及其常见命令
  • PyTorch的安装流程
  • 如何选择一个适合自己的PyTorch版本

1.2.1 Anaconda的安装

在数据科学和最近很火的深度学习中,要用到大量成熟的package。我们一个个安装 package 很麻烦,而且很容易出现包之间的依赖不适配的问题。而 Anaconda/miniconda的出现很好的解决了我们的问题,它集成了常用于科学分析(机器学习, 深度学习)的大量package,并且借助于conda我们可以实现对虚拟Python环境的管理。

Step 1:安装Anaconda/miniconda

登陆Anaconda | Individual Edition,选择相应系统DownLoad,此处以Windows为例(Linux可以点击链接选择合适的版本进行下载或者通过官方提供的shell脚本进行下载):

在这里插入图片描述

Step 2:检验是否安装成功

在开始页找到Anaconda Prompt,一般在Anaconda3的文件夹下,( Linux在终端下就行了)

在这里插入图片描述

Step 3:创建虚拟环境

Linux在终端(Ctrl+Alt+T)进行,Windows在Anaconda Prompt进行

查看现存虚拟环境

查看已经安装好的虚拟环境,可以看到我们这里已经有两个环境存在了

conda env list 

在这里插入图片描述

创建虚拟环境

在深度学习和机器学习中,我们经常会创建不同版本的虚拟环境来满足我们的一些需求。下面我们介绍创建虚拟环境的命令。

conda create -n env_name python==version 
# 注:将env_name 替换成你的环境的名称,version替换成对应的版本号,eg:3.8

例如:

conda create -n yolo python==3.9

在这里插入图片描述

在这里插入图片描述

  1. 这里忽略我们的warning,因为我们测试的时候已经安了又卸载一遍了,正常时是不会有warning的。
  2. 在选择Python版本时,不要选择太高,建议选择3.6-3.8,版本过高会导致相关库不适配。
安装包
conda install package_name 
# 注:package_name 替换成对应的包的名称,eg: pandas
卸载包
conda remove package_name
# 注:package_name 替换成对应的包的名称,eg: pandas
显示所有安装的包
conda list
删除虚拟环境命令
conda remove -n env_name --all 
# 注:env_name 替换成对应的环境的名称
激活环境命令
conda activate env_name
# 注:env_name 替换成对应的环境的名称
退出当前环境
conda deactivate

关于更多的命令,我们可以查看Anaconda/miniconda官方提供的命令,官网链接:点击这里

Step 4:换源

在安装package时,我们经常会使用pip install package_nameconda install package_name 的命令,但是一些package下载速度会很慢,因此我们需要进行换源,换成国内源,加快我们的下载速度。以下便是两种对应方式的永久换源。如果我们仅仅想为单次下载换源可以使用pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple进行下载。

pip换源
Linux:

Linux下的换源,我们首先需要在用户目录下新建文件夹.pip,并且在文件夹内新建文件pip.conf,具体命令如下

cd ~
mkdir .pip/
vi pip.conf

随后,我们需要在pip.conf添加下方的内容:

[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
Windows:

1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
3、我们需要在pip.ini 配置文件内容,我们可以选择使用记事本打开,输入以下内容,并按下ctrl+s保存,在这里我们使用的是豆瓣源为例子。

[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
conda换源(清华源)官方换源帮助
Windows系统:

TUNA 提供了 Anaconda 仓库与第三方源的镜像,各系统都可以通过修改用户目录下的 .condarc 文件。Windows 用户无法直接创建名为 .condarc 的文件,可先执行conda config --set show_channel_urls yes生成该文件之后再修改。

完成这一步后,我们需要修改C:\Users\User_name\.condarc这个文件,打开后将文件里原始内容删除,将下面的内容复制进去并保存。

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

这一步完成后,我们需要打开Anaconda Prompt 运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

Linux系统:

在Linux系统下,我们还是需要修改.condarc来进行换源

cd ~
vi .condarc

vim下,我们需要输入i进入编辑模式,将上方内容粘贴进去,按ESC退出编辑模式,输入:wq保存并退出

在这里插入图片描述

我们可以通过conda config --show default_channels检查下是否换源成功,如果出现下图内容,即代表我们换源成功。

在这里插入图片描述

同时,我们仍然需要conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

1.2.2 查看显卡

该部分如果仅仅只有CPU或者集显的小伙伴们可以跳过该部分

windows:

我们可以通过在cmd/terminal中输入nvidia-smi(Linux和Win命令一样)、使用NVIDIA控制面板和使用任务管理器查看自己是否有NVIDIA的独立显卡及其型号

在这里插入图片描述

在这里插入图片描述

linux:

在这里插入图片描述

我们需要看下版本号,看自己可以兼容的CUDA版本,等会安装PyTorch时是可以向下兼容的。具体适配表如下图所示。

在这里插入图片描述

1.2.3 安装PyTorch

Step 1:登录PyTorch官网

在这里插入图片描述

Step 2:Install

在这里插入图片描述

这个界面我们可以选择本地开始(Start Locally),云开发(Cloud Partners),以前的Pytorch版本(Previous PyTorch Versions),移动端开发(Mobile),在此处我们需要进行本地安装。

Step 3:选择命令

我们需要结合自己情况选择命令并复制下来,然后使用conda下载或者pip下载(建议conda安装)

打开Terminal,输入conda activate env_name(env_name 为你对应的环境名称),切换到对应的环境下面,我们就可以进行PyTorch的安装了。

在这里插入图片描述

  1. Stable代表的是稳定版本,Preview代表的是先行版本

  2. 可以结合电脑是否有显卡,选择CPU版本还是CUDA版本,CUDA版本需要拥有独显且是NVIDIA的GPU

  3. 官方建议我们使用Anaconda/miniconda来进行管理

  4. 关于安装的系统要求

    1. Windows
      1. Windows 7及更高版本;建议使用Windows 10或者更高的版本
      2. Windows Server 2008 r2 及更高版本
    2. Linux:以常见的CentOS和Ubuntu为例
      1. CentOS, 最低版本7.3-1611
      2. Ubuntu, 最低版本 13.04,这里会导致cuda安装的最大版本不同
    3. macOS
      1. macOS 10.10及其以上
  5. 有些电脑所支持的cuda版本<10.2,此时我们需要进行手动降级,即就是cudatoolkit = 你所适合的版本,但是这里需要注意下一定要保持PyTorch和cudatoolkit的版本适配。查看Previous PyTorch Versions | PyTorch

Step 4:在线下载

如果我们使用的Anaconda Prompt进行下载的话,我们需要先通过conda activate env_name,激活我们的虚拟环境中去,再输入命令。

: 我们需要要把下载指令后面的 -c pytorch 去掉以保证使用清华源下载,否则还是默认从官网下载。

Step 5:离线下载

Windows:

在安装的过程中,我们可能会出现一些奇奇怪怪的问题,导致在线下载不成功,我们也可以使用离线下载的方法进行。

下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

通过上面下载地址,我们需要下载好对应版本的pytorch和 torchvision 包,然后打开Anaconda Prompt/Terminal中,进入我们安装的路径下。

cd package_location
conda activate env_name

接下来输入以下命令安装两个包

conda install --offline pytorch压缩包的全称(后缀都不能忘记)
conda install --offline torchvision压缩包的全称(后缀都不能忘记)
Step 6:检验是否安装成功

进入所在的虚拟环境,紧接着输入python,在输入下面的代码。

import torch

torch.cuda.is_available()
False

这条命令意思是检验是否可以调用cuda,如果我们安装的是CPU版本的话会返回False,能够调用GPU的会返回True。一般这个命令不报错的话就证明安装成功。

  • Windows系统

在这里插入图片描述

  • Linux系统

在这里插入图片描述

PyTorch的安装绝对是一个容易上火的过程,而且网络上的教程很可能对应早期的版本,或是会出现一些奇奇怪怪的问题,但是别担心,多装几次多遇到点奇奇怪怪的问题就好了!

1.2.4 PyCharm安装(可选操作)

VSCode这些也是ok的,安装PyCharm非必须操作

Linux,Windows此处操作相同,我们建议Windows的同学安装Pycharm即可,因为在Linux上pycharm并不是主流的IDE。

Step 1:进入官网下载

如果是学生的话可以使用学生邮箱注册并下载Professional版本,Community版本也基本能满足我们的日常需求。

在这里插入图片描述

Step 2:配置环境

我们需要将虚拟环境设为我们的编译器,具体操作:File --> Settings --> Project:你的项目名称–> Python Interpreter

进去后,我们可以看见他使用的是默认的base环境,现在我们需要将这个环境设置成我们的test环境,点击齿轮,选择Add

在这里插入图片描述

点击Conda Environment ,选择Existing environment,将Interpreter设置为test环境下的python.exe

在这里插入图片描述
注:如果在pycharm的环境时,想进入我们的虚拟环境,要使用conda activate 名称

1.3 PyTorch相关资源

PyTorch之所以被越来越多的人使用,不仅在于其完备的教程,还受益于许多相关的资源和完善的论坛。

经过本节的学习,你将收获:

  • PyTorch的优质学习资源

1.3.1 PyTorch学习资源

  1. Awesome-pytorch-list:目前已获12K Star,包含了NLP,CV,常见库,论文实现以及Pytorch的其他项目。
  2. PyTorch官方文档:官方发布的文档,十分丰富。
  3. Pytorch-handbook:GitHub上已经收获14.8K,pytorch手中书。
  4. PyTorch官方社区:PyTorch拥有一个活跃的社区,在这里你可以和开发pytorch的人们进行交流。
  5. PyTorch官方tutorials:官方编写的tutorials,可以结合colab边动手边学习
  6. 动手学深度学习:动手学深度学习是由李沐老师主讲的一门深度学习入门课,拥有成熟的书籍资源和课程资源,在B站,Youtube均有回放。
  7. Awesome-PyTorch-Chinese:常见的中文优质PyTorch资源
  8. labml.ai Deep Learning Paper Implementations:手把手实现经典网络代码
  9. YSDA course in Natural Language Processing:YSDA course in Natural Language Processing
  10. huggingface:hugging face
  11. ModelScope: 魔搭社区

当然可以!以下是一些学习 PyTorch 的资源,包括官方文档、在线课程、书籍和社区资源,适合不同水平的学习者。

官方文档

  1. PyTorch 官方文档

    • PyTorch Documentation
    • 包含了 PyTorch 的所有功能、API 参考和使用示例。
  2. PyTorch Tutorials

    • PyTorch Tutorials
    • 提供了从基础到高级的各种教程,涵盖了深度学习的多个方面。

在线课程

  1. Coursera

    • Deep Learning Specialization by Andrew Ng
    • 虽然主要使用 TensorFlow,但可以帮助理解深度学习的基本概念,适合与 PyTorch 一起学习。
  2. Udacity

    • Intro to Deep Learning with PyTorch
    • 这是一个免费的课程,专注于使用 PyTorch 进行深度学习。
  3. Fast.ai

    • Practical Deep Learning for Coders
    • 这个课程使用 Fastai 库(基于 PyTorch)来教授深度学习,适合初学者。
  4. edX

    • Deep Learning with PyTorch
    • 由 Facebook AI 提供的课程,专注于使用 PyTorch 进行深度学习。

书籍

  1. 《Deep Learning with PyTorch》

    • 作者:Eli Stevens, Luca Antiga, and Thomas Viehmann
    • 这本书提供了 PyTorch 的深入介绍,适合初学者和有经验的开发者。
  2. 《Programming PyTorch for Deep Learning》

    • 作者:Ian Pointer
    • 这本书通过实际示例介绍了如何使用 PyTorch 进行深度学习。
  3. 《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow》(第2版):

    • 作者:Aurélien Géron
    • 尽管主要使用 TensorFlow,但书中也有关于 PyTorch 的部分,适合全面了解机器学习和深度学习。

社区和论坛

  1. PyTorch 论坛

    • PyTorch Forums
    • 这是一个活跃的社区,可以在这里提问、分享和讨论 PyTorch 相关的内容。
  2. Stack Overflow

    • PyTorch on Stack Overflow
    • 在 Stack Overflow 上可以找到许多关于 PyTorch 的问题和答案。
  3. GitHub

    • PyTorch GitHub Repository
    • 你可以查看源代码、提交问题或贡献代码。

YouTube 频道

  1. DeepLearningAI

    • DeepLearningAI YouTube Channel
    • 提供了许多关于深度学习的讲座和教程。
  2. Sentdex

    • Sentdex YouTube Channel
    • 提供了关于 Python 和深度学习的多种教程,包括 PyTorch。
  3. Two Minute Papers

    • Two Minute Papers YouTube Channel
    • 这个频道提供了最新的深度学习研究论文的简要介绍,帮助你了解前沿技术。

http://www.kler.cn/a/460895.html

相关文章:

  • 【卡通风格的的登录界面】
  • python中常用的内置函数介绍
  • 《计算机网络》(B)复习
  • VueRouter之props参数
  • HTML基础到精通笔记
  • Linux(Centos 7.6)基础命令/常用命令说明
  • grep如何打印行数
  • C++线程池的使用
  • 智能商业分析 Quick BI
  • Spring Security 3.0.2.3版本
  • 为什么需要设置 `NCCL_P2P_DISABLE=1` 和 `NCCL_IB_DISABLE=1`?
  • 4G报警器WT2003H-16S低功耗语音芯片方案开发-实时音频上传
  • 国产低代码框架zdppy开发笔记001 zdppy_api快速入门
  • 《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
  • 力扣-数据结构-8【算法学习day.79】
  • 石岩路边理发好去处
  • Kerberos用户认证-数据安全-简单了解-230403
  • 二十三种设计模式-工厂方法模式
  • 【UE5】UnrealEngine源码构建1:tag为5.3.2源码clone
  • 与你共度的烟火日常
  • 开源即时通讯IM框架MobileIMSDK的鸿蒙NEXT端开发快速入门
  • 使用 `@Async` 实现 Spring Boot 异步编程
  • 打造多元化服务体系,拉卡拉助力传统商家提升数字化经营效能
  • 《计算机网络A》单选题-复习题库
  • neo4j修改文字字体大小
  • 2024的第1篇也是最后1篇