Pytorch 安装与配置

每次在服务器上配置环境都需要考虑 Pytorch 版本 / CUDA 版本 / GPU 驱动版本等诸多因素,因为 ⌈ \lceil GPU 版本的 Pytorch 只能兼容特定版本的 CUDA ⌋ \rfloor ⌈ \lceil GPU 只能使用特定版本的驱动 ⌋ \rfloor ⌈ \lceil GPU 有最高支持的 CUDA 版本限制 ⌋ \rfloor 等等,本文在此梳理相关要素。一般来说,

一. 硬 / 软件环境

项目开发之前,需要检查计算机的硬 / 软件环境,包括 GPU、驱动、CUDA、Python 等。

1. GPU

GPU(Graphics Processing Unit,图形处理单元)是一种专门设计用于处理图形和图像数据的处理器,它是计算机中用于实时渲染图形、处理图像、执行计算密集型任务的关键组件之一。GPU 最初是为了图形渲染而设计的,但是随着技术的发展,它们的功能被拓展到了其他领域,如科学计算、人工智能和深度学习等。GPU 的并行处理能力使得它们在执行大规模并行计算任务时表现出色。

  • 在图形处理方面,GPU负责处理三维图形数据,并将其转换为二维图像,然后输出到显示器上。它们通常配备了大量的专用图形处理核心,这些核心可以同时处理多个图形元素,如顶点、像素和纹理等,以实现快速的图形渲染和图像处理。
  • 在科学计算和深度学习方面,GPU 的并行计算能力使其成为处理大规模数据集和复杂算法的理想选择。许多科学计算和机器学习任务可以通过 GPU 并行计算来加速处理速度,因为 GPU 可以同时执行大量相似的计算任务。

在所有工作开始之前,先检查计算机的 GPU 情况:

  • 如果是本地,右击 “此电脑” -> 属性 -> 高级系统设置 -> 硬件 -> 设备管理器,如果 “显示适配器” 下有 NVIDIA 字样,就说明有 NVIDIA 显卡(左图),否则就是没有(右图):
    在这里插入图片描述
    也可以在任务管理器 -> 性能 -> GPU 中查看。Windows 系统还可以使用 wmic path win32_videocontroller get caption 命令查看显卡信息;
  • 如果是服务器(一般默认 Linux 系统),可以直接使用 nvidia-smi 命令查看显卡的标号和型号:
    在这里插入图片描述

2. GPU 驱动

GPU 驱动(Graphics Processing Unit Driver,图形处理单元驱动程序)是负责在操作系统和图形处理单元之间进行通信和协调的软件,主要功能包括:硬件控制、性能优化、兼容性支持、错误修复、功能扩展等。GPU 驱动程序通常由显卡制造商提供,例如 NVIDIA、AMD、Intel 等,用户可以从它们的官方网站或通过操作系统的自动更新功能获取最新的驱动程序。

GPU 驱动版本可以直接使用 nvidia-smi 命令查看:
在这里插入图片描述

想要知道合适的 GPU 驱动版本,可以访问 http://www.nvidia.com/Download/index.aspx 查询:
在这里插入图片描述

3. CUDA

CUDA(Compute Unified Device Architecture,计算统一设备架构)是由 NVIDIA 开发的并行计算平台和编程模型,旨在利用 NVIDIA GPU 的并行计算能力进行通用目的的计算。CUDA 使开发人员能够利用 GPU 的大量并行处理核心来加速计算任务,从而在科学计算、深度学习、机器学习、图形处理等领域获得更高的性能和效率。

CUDA 包括以下主要组件:

  1. CUDA 编程模型:CUDA 提供了一种简单而强大的编程模型,允许开发人员使用类似于 C 语言的 CUDA C 或 CUDA C++ 来编写并行计算任务。CUDA 编程模型使开发人员能够将计算任务分解为多个线程块和线程,并在 GPU 上并行执行这些线程;
  2. CUDA 运行时:CUDA 运行时是一组库和 API,用于在主机 CPU 和 GPU 之间管理数据传输、内存分配、线程调度等操作。开发人员可以使用 CUDA 运行时来启动 CUDA 核函数(在 GPU 上运行的函数)、分配和释放 GPU 内存、配置 GPU 执行参数等;
  3. CUDA 工具包:CUDA 工具包包括用于开发、调试和优化 CUDA 应用程序的一系列工具和实用程序。其中包括编译器、调试器、性能分析器、代码优化工具等,这些工具有助于开发人员更高效地利用 GPU 的并行计算能力;
  4. CUDA 核函数:CUDA 核函数是在 GPU 上并行执行的函数,可以由 CUDA 编程模型中的线程块中的多个线程同时执行。开发人员可以使用 CUDA C 或 CUDA C++ 编写 CUDA 核函数,并通过调用该函数在 GPU 上执行并行计算任务。CUDA C/C++ 语法见 CUDA C/C++ 教程一:加速应用程序

CUDA 版本可以直接使用 nvcc --version 命令查看:
在这里插入图片描述

一般的服务器上都会装有 CUDA,电脑本地的话则需要自行安装。CUDA 版本会受到 GPU 限制,使用 nvidia-smi 命令可以查看 GPU 最高支持的 CUDA 版本号:
在这里插入图片描述

CUDA Toolkit Archive 上选择合适的版本下载安装即可:
在这里插入图片描述

4. Python

现在一般使用的都是 Python 3.x,可以使用命令 python3 --versionpython --version 检查版本:
在这里插入图片描述

二. Pytorch 安装

Pytorch 分为 CPU 版本和 GPU 版本(+cuxxx),只有带英伟达显卡的电脑才能安装 GPU 版本的 Pytorch。如果已经安装了 Pytorch,可以使用 python -c "import torch; print(torch.__version__)"python3 -c "import torch; print(torch.__version__)" 指令检查 Pytorch 版本:
在这里插入图片描述

  1. 安装 Pytorch 前,需要使用 pip uninstall torch torchvision 命令卸载之前的版本:
    在这里插入图片描述

  2. GPU 版的 Pytorch 只能兼容特定版本的 CUDA,比如上文中服务器上的 CUDA 版本是 11.8,那么就只能安装兼容 11.8 CUDA 的 Pytorch。 Pytorch 官网 INSTALL PYTORCH 下可以查询满足要求的 Pytorch,一般情况下都是安装旧版本的 Pytorch,点击 Previous versions of PyTorch
    在这里插入图片描述

  3. 搜索特定版本的 CUDA:
    在这里插入图片描述
    Conda 下的是使用 conda 安装,Wheel 下的是使用 pip 安装;

  4. 选择想要的版本复制下载指令即可:
    在这里插入图片描述

如果网络问题下载缓慢,可以使用国内镜像:

镜像名镜像地址 – pytorch, torchvision, torchaudio
清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
北京外国语大学镜像https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/win-64/
阿里巴巴镜像http://mirrors.aliyun.com/anaconda/cloud/pytorch/win-64/
南京大学镜像https://mirror.nju.edu.cn/pub/anaconda/cloud/pytorch/win-64/

三. Pytorch 简介

PyTorch 是一个开源的深度学习框架,提供了灵活的张量计算和动态计算图的能力,使得深度学习模型的开发和训练变得更加容易和高效,被广泛应用于学术界和工业界。PyTorch 的一些主要特点和优势如下:

  • 动态计算图:PyTorch 的计算图是在运行时构建的,而不是预先定义的。这种动态计算图的特性使得 PyTorch 更加灵活,能够轻松处理各种动态的模型结构和数据流;
  • 强大的自动求导机制:PyTorch 内置了自动求导机制,可以自动计算张量的梯度。这使得用户无需手动编写反向传播算法,只需定义前向传播过程,PyTorch 就能够自动计算梯度并更新模型参数,大大简化了深度学习模型的训练过程;
  • 易于使用的 Python 接口:PyTorch 的设计理念与 Python 编程语言高度融合,提供了简洁、易于理解的 API。这使得用户可以快速上手,利用 Python 的强大功能进行深度学习模型的开发和调试。

PyTorch 的结构从上到下可以分为以下几个层次:

  1. 中高阶 API:由 Python 编写,包括许多高级接口和工具,常用于处理数据、构建模型、训练模型和执行推断等高级任务。这些 API 在用户友好性和易用性方面进行了优化,允许用户快速开发和实验深度学习模型;
  2. 低阶 API:主要由 C++ 实现,包括与张量操作、自动求导直接相关的接口和函数,它们提供了对张量的低级别操作和数学运算的支持,以及与硬件交互的功能。PyTorch 的张量操作部分利用底层的线性代数库(如 ATen、BLAS 等)来实现高效的张量操作。自动求导机制由 C++ 实现,与张量操作紧密结合;
  3. 底层核心库:PyTorch 的底层核心库也是由 C++ 编写的,它包括了张量操作、自动求导、计算图构建等功能。这些功能是 PyTorch 的核心部分,提供了深度学习模型训练和推理所需的基础功能;
  4. 硬件层和加速库:PyTorch 使用了底层的 CUDA 技术,利用 GPU 的并行计算能力来加速深度学习模型的训练和推理。PyTorch 利用 CUDA 提供的 cuBLAS、cuDNN 等加速库来实现在 GPU 上的高效张量操作和并行计算。
  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以按照以下步骤进行PyTorch的安装和配置: 1. 首先,您需要安装Anaconda,可以从官方网站下载并安装Anaconda。 2. 打开Anaconda Prompt或终端窗口,创建一个新的虚拟环境,您可以使用以下命令: ``` conda create --name myenv ``` 3. 激活虚拟环境,您可以使用以下命令: ``` conda activate myenv ``` 4. 安装PyTorch,您可以使用以下命令: ``` conda install pytorch torchvision torchaudio -c pytorch ``` 5. 如果您需要安装CUDA版本的PyTorch,可以使用以下命令: ``` conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch ``` 6. 确保您已经安装了NVIDIA驱动程序和CUDA工具包,并且与您安装的PyTorch版本兼容。 7. 如果您遇到了其他问题,您可以参考PyTorch的官方文档或在论坛中寻找解决方法。 这些步骤将帮助您完成PyTorch的安装和配置。请确保按照官方文档或教程操作,并根据您的需求选择适合的版本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [PyTorch安装与配置教程(2022.11)](https://blog.csdn.net/m0_51755720/article/details/128037149)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [【超详细】pytorch安装及配置](https://blog.csdn.net/qq_56550595/article/details/125659714)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值