什么是Pytorch?

17 Mar 2025 | 4 分钟阅读

PyTorch是基于Torch库的计算机软件的一小部分。 它是由Facebook推出的深度学习框架。 PyTorch是一个用于Python编程语言的机器学习库,用于自然语言处理等应用。

PyTorch提供的高级功能如下

  1. 借助图形处理单元(GPU),它通过强大的加速提供了张量计算。
  2. 它提供了基于磁带的自动微分系统的深度神经网络

PyTorch的开发旨在在实现和构建深度学习神经网络期间提供高灵活性和速度。 如您所知,它是一个用于Python编程语言的机器学习库,因此安装、运行和理解它非常简单。 Pytorch是完全pythonic(使用广泛采用的python习惯用法,而不是编写Java和C++代码),因此它可以成功地快速构建一个神经网络模型

What is PyTorch

PyTorch的历史

PyTorch于2016年发布。 越来越多的研究人员愿意采用PyTorch。 它由Facebook运营。 Facebook还运营Caffe2(用于快速特征嵌入的卷积架构)。 将PyTorch定义的模型转换为Caffe2具有挑战性。 为此,Facebook和Microsoft于2017年9月发明了开放神经网络交换(ONNX)。 简单来说,ONNX的开发是为了在框架之间转换模型。 Caffe2于2018年3月并入PyTorch。

PyTorch使构建极其复杂的神经网络变得容易。 此功能使其迅速成为首选库。 在研究工作中,它与TensorFlow展开了激烈的竞争。 PyTorch的开发者希望制作一个高度命令式的库,该库可以轻松运行所有数值计算,最后,他们发明了PyTorch。 深度学习科学家、机器学习开发人员和神经网络调试器面临着实时运行和测试部分代码的巨大挑战。 PyTorch完成了这项挑战,并允许他们实时运行和测试他们的代码。 因此,他们不必等待检查它是否有效。

注意:要使用PyTorch的功能和服务,可以使用Python软件包,例如NumPy、SciPy和Cython。

为什么使用PyTorch?

为什么选择PyTorch? PyTorch有什么特别之处,使其在构建深度学习模型方面独树一帜。 PyTorch是一个动态库。 动态库意味着一个灵活的库,您可以根据您的需求和更改使用该库。 目前在Kaggle竞赛中,它被完成者持续使用。

有很多功能使深度学习科学家能够在制作深度学习模型时使用它。

这些功能如下。

What is PyTorch

简单的界面

PyTorch具有非常简单的界面,如Python。 它提供了一种易于使用的API。 这个框架非常容易运行和操作,就像Python一样。 PyTorch可以轻松理解或在Windows和Linux上实现。

混合前端

PyTorch提供了一个新的混合前端,它在渴望模式下提供了灵活性和易用性,同时最初过渡到图形模式,以便在C++运行时环境中实现速度、优化和功能。

例如

分布式训练

PyTorch允许开发人员以分布式方式训练神经网络模型。 它通过对等通信和从Python和C++异步执行集体操作的本地支持,在研究和生产中提供优化的性能。

例如

Python优先

PyTorch完全基于Python。 PyTorch与Python最流行的库和包一起使用,例如Cython和Numba。 PyTorch深入构建在Python中。 它的代码完全pythonic。 Pythonic意味着使用广泛采用的Python习惯用法,而不是在您的代码中编写Java和C++代码。

例如

工具和库

大量可用于扩展PyTorch并支持计算机视觉和强化学习等领域开发的工具和库。 这个生态系统由活跃的开发人员和研究人员社区开发。 这些生态系统帮助他们构建灵活且快速访问的深度学习神经网络。

例如

本地ONNX支持

ONNX的开发是为了在框架之间转换模型。 为了直接访问ONNX兼容的平台、运行时、可视化工具等,您需要以标准ONNX格式导出模型。

例如

C++前端

C++前端是PyTorch的c++接口,遵循已建立的Python前端的设计和架构。 它支持高性能、低延迟和裸机C++应用程序的研究。

例如

云合作伙伴

PyTorch得到许多主要云平台的支持,例如AWS。 借助预构建的镜像、在GPU上进行大规模训练以及在生产规模的环境中运行模型的能力等; 它提供了无摩擦的开发和轻松的扩展。

例如


下一主题PyTorch安装