《深度学习》—— PyTorch的介绍及PyTorch的CPU版本安装
文章目录
- 一、PyTorch的简单介绍
- 二、pytorch的CPU版本安装
- 三、 torch、torchvision、torchaudio 三个库的介绍
一、PyTorch的简单介绍
- PyTorch是一个由Facebook AI实验室开发的深度学习框架,它基于Python,并提供了高效的GPU加速和灵活的模型定义能力。
- 1.PyTorch的基本特点
- 动态计算图:PyTorch采用动态计算图的方式,这意味着计算图是在运行时构建的,可以在运行时进行灵活的修改和调整,这为用户提供了更大的灵活性和方便性,尤其适合实验和调试阶段。
- 易用性:PyTorch的API设计简单直观,易于学习和使用。用户可以快速上手并进行深度学习任务,无需深入了解复杂的底层实现。
- 灵活性:PyTorch提供了大量的灵活性,用户可以轻松地定义、训练和调试自己的模型,自由定制训练流程。
- 高效性能:PyTorch采用了高效的自动求导机制,可以快速求解模型参数的梯度,并且支持GPU加速,大大提高了训练速度。
- 社区支持:PyTorch拥有一个活跃的社区,提供了大量的文档、教程和代码示例,用户可以方便地获取支持和资源。
- 2.PyTorch的核心组件
- 张量(Tensor):PyTorch中的基本数据结构是张量,类似于NumPy中的ndarray,但可以在GPU上加速计算。张量是多维数组,可以表示标量、向量、矩阵以及更高维度的数据。
- 自动求导(Autograd):PyTorch的自动求导系统为张量上的所有操作提供了自动求导机制。用户只需设置.requires_grad=True,PyTorch就会自动追踪所有对该张量的操作,并在调用.backward()时计算所有梯度。
- 神经网络模块(torch.nn):PyTorch提供了丰富的神经网络模块,包括全连接层、卷积层、循环层等,用户可以轻松构建自己的神经网络模型。
- 优化器(torch.optim):PyTorch提供了多种优化算法,如SGD、Adam等,用于更新模型参数,以最小化损失函数。
- 3.PyTorch的应用场景
- PyTorch已经广泛应用于图像识别、自然语言处理、计算机视觉等领域。例如,在图像识别领域,PyTorch可以用于训练图像分类器,如ResNet、VGG等;在自然语言处理领域,PyTorch可以用于训练文本分类器,如BERT、Word2Vec等;在计算机视觉领域,PyTorch可以用于实现计算机视觉推理系统,如Faster R-CNN等。
二、pytorch的CPU版本安装
-
此篇是在python环境下对pytorch进行安装
-
首先进入pytorch官网:https://pytorch.org
-
在首页可以看到以下界面:
-
因为CPU版本的PyTorch大小只有不到200MB,所以可以在选择前5个与自己的所对应的版本后直接复制最后的命令到电脑终端(win+R后输入cmd)中进行下载
-
这里pip3的意思是python的3版本
-
为什么下载的是torch torchvision torchaudio这三个库,而不直接是pytorch?
三、 torch、torchvision、torchaudio 三个库的介绍
-
torch、torchvision、torchaudio是PyTorch深度学习框架的三个重要组成部分,它们各自具有不同的功能和用途,但紧密协作以支持各种机器学习和深度学习任务。
-
torch
- 定义:torch是PyTorch的核心库,提供了张量(tensor)操作和计算图构建的功能。张量是PyTorch中用于存储和操作数据的主要数据结构。
- 功能:torch提供了自动求导(Autograd)功能,使得用户可以轻松地构建和训练神经网络模型。此外,它还包含了构建神经网络所需的各种基本工具和模块,如全连接层、卷积层、池化层等。
-
torchvision
- 定义:torchvision是PyTorch的一个独立子库,主要用于计算机视觉任务。
- 功能:
- 数据处理:torchvision提供了各种经典的计算机视觉数据集的加载器,如CIFAR-10、ImageNet,以及用于数据预处理和数据增强的工具。
- 预训练模型:它还包含了许多预训练的模型,这些模型可以在各种计算机视觉任务中直接使用或作为迁移学习的起点。
- 图像任务支持:torchvision可以帮助用户更轻松地进行图像分类、目标检测、图像分割等任务。
-
torchaudio
- 定义:torchaudio是PyTorch中处理音频信号的库,专门用于处理和分析音频数据。
- 功能:
- 音频处理:torchaudio提供了加载、处理和转换音频数据的工具,包括音频文件的读写、音频信号的预处理(如重采样、噪声添加、增益控制等)和特征提取(如短时傅里叶变换、梅尔频率谱图、梅尔频率倒谱系数等)。
- 模型支持:虽然torchaudio目前提供的预训练音频处理模型相对较少,但它为构建和训练基于音频的深度学习模型提供了便利的接口和工具。
- 高效计算:torchaudio还支持多声道音频处理和GPU加速,以满足不同应用场景的需求。
-
总结
- torch、torchvision、torchaudio在PyTorch生态系统中各自扮演着重要的角色。torch提供了构建神经网络所需的基本工具和模块;torchvision专注于计算机视觉任务,提供了丰富的数据处理工具和预训练模型;torchaudio则专注于音频信号处理,为音频相关的机器学习和深度学习任务提供了便捷的接口和工具。通过这三个库的协同工作,用户可以轻松地构建和训练各种深度学习模型,以应对各种复杂的机器学习任务。