pytorch用来干嘛的

Z, ZLW 13816

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序,它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy);2、包含自动求导系统的深度神经网络。

一、pytorch有什么用

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。

2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:

1、具有强大的GPU加速的张量计算(如NumPy)。

2、包含自动求导系统的深度神经网络。

PyTorch使用Python作为开发语言,允许开发人员访问广泛的Python生态圈库和软件。 而在PyTorch开发中,数据处理型与数据计算包Numpy的矩阵型、代码样式型机器学习包scikit-learn相似,便于广大机器学习者进入深度学习这一新领域。

目前,许多开源框架(如TensorFlow、Caffe2、CNTK和Theano )采用静态计算图,而PyTorch采用动态计算图。 在静态计算图表中,必须先定义网络模型,然后运行,一次定义并运行多次。 动态计算图表可以在运行中定义,可以在运行时构建,多次构建并运行。

静态图的实现代码是冗馀的,不直观的。 动态图的实现简洁优雅,直观。 动态计算图表的另一个显著优点是易于调试,并且可以随时查看变量值。 由于模型可能会变得复杂,因此如果可以直观地看到变量值,就可以快速构建模型。 PyTorch的API设计简单优雅,使用方便。

二、pytorch的运行环境

已兼容Windows(CUDA,CPU)、MacOS(CPU)、Linux(CUDA,ROCm,CPU) 。

基础环境:一台PC设备、一张高性能NVIDIA显卡(可选)、Ubuntu系统。

三、pytorch的优点

  • PyTorch是相当简洁且高效快速的框架
  • 设计追求最少的封装
  • 设计符合人类思维,它让用户尽可能地专注于实现自己的想法
  • 与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新
  • PyTorch作者亲自维护的论坛 供用户交流和求教问题
  • 入门简单

拓展阅读

PyTorch 库深度学习流程 

  • 数据加载和处理

任何深度学习项目的第一步都是处理数据加载和处理。PyTorch 通过torch.utils.data提供相同的实用程序。该模块中的两个重要类是Dataset和DataLoader。如果我们可以访问多台机器或 GPU,我们也可以使用torch.nn.DataParallel和torch.distributed。

  • 构建神经网络

torch.nn模块用于创建神经网络。它提供了所有常见的神经网络层,如全连接层、卷积层、激活和损失函数等。一旦创建了网络架构并且准备好将数据馈送到网络,我们就需要更新权重和偏差的,以便网络开始学习。这些实用程序在torch.optim模块中提供。类似地,对于反向传递期间所需的自动微分,我们使用torch.autograd模块

  • 模型推断和兼容性

模型经过训练后,可用于预测测试,甚至测试新数据集的输出。这个过程被称为模型推理。

PyTorch 还提供TorchScript,可用于独立于 Python 运行时运行模型。这可以被认为是一个虚拟机,其指令主要针对张量。还可以将使用 PyTorch 训练的模型转换为 ONNX 等格式,这样就可以在其他 DL 框架(例如 MXNet、CNTK、Caffe2)中使用这些模型。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部