PyTorch深度学习框架简介 您所在的位置:网站首页 pytorch可以干嘛 PyTorch深度学习框架简介

PyTorch深度学习框架简介

#PyTorch深度学习框架简介| 来源: 网络整理| 查看: 265

本章介绍PyTorch框架

1.1 PyTorch简介

PyTorch是一个Python的开源机器学习库,是Python优先的深度学习框架。PyTorch是科学计算框架Torch在 Python上的衍生,PyTorch框架的产生受到Torch和Chainer这两个框架的启发。与Torch使用Lua语言相比,PyTorch使用了Python作为开发语言。与 Chainer类似,PyTorch框架具有自动求导的动态图功能,也就是所谓define by run,即当Python解释器运行到相应的行时才创建计算图。

在PyTorch诞生之前,像caffe和torch这样的深度学习库是很受欢迎的深度学习库。随着深度学习快速发展,开发人员和研究人员希望有一个高效、易于使用的框架,并且以Python编程语言构建、训练和评估神经网络。Python 是数据科学家和机器学习中最受欢迎的编程语言之一,研究人员希望在Python生态系统中使用深度学习算法是很自然的需求。

PyTorch由Adam Paszke、Sam Gross与Soumith Chintala等人牵头开发,由 Facebook 赞助,并得到 Yann LeCun(著名计算机科学家,2018年图灵奖得主)的认可。2017年1月,Facebook人工智能研究院(FAIR)团队在GitHub上开源了PyTorch 。

PyTorch通过创建既Pythonic又易于自定义的API,在易于使用的同时又提供了研究人员所需的低水平API 。发布以来,PyTorch受到越来越多的关注和使用,是当前学术领域使用最多、最受欢迎的深度学习框架。PyTorch允许研究人员利用GPU的算力来实现神经网络的加速,提供了自动微分机制,研究人员可以使用PyTorch轻松构建复杂神经网络。

PyTorch主要有以下特点:

(1)  易用性和灵活性

PyTorch提供易于使用的API,使用动态计算图模式确保了易用性和灵活性。PyTorch允许用户在运行时构建计算图,甚至在运行时更改它们。

(2)  Python的支持

PyTorch可以顺利地与Python数据科学栈集成,它非常类似于NumPy。PyTorch旨在深度集成到Python中,我们可以像使用NumPy 、SciPy、Scikit-learn等库一样自然地使用它。

(3)  部署简单

PyTorch提供了可用于大规模部署PyTorch模型的工具TorchServe。TorchServe是PyTorch开源项目的一部分,是一个易于使用的工具,用于大规模部署PyTorch模型。PyTorch还提供了TorchScript,用于在高性能的C++运行环境中实现模型部署。

(4)  支持分布式训练

PyTorch可实现研究和生产中的分布式训练和性能优化。

(5)  强大的生态系统

PyTorch具有丰富的工具和库等生态系统,为计算机视觉,NLP等方面的开发提供便利。

(6)  内置开放神经网络交换协议(ONNX)

ONNX内置于PyTorch的核心,因此将模型迁移到ONNX不需要用户安装任何其他包或工具,这使得PyTorch可以很方便的与其他深度学习框架互操作。通过ONNX格式,研究人员可轻松的将在PyTorch上开发的模型部署到适用于生产的平台上。

(7)支持移动端

PyTorch支持从Python到iOS和安卓系统部署的端到端工作流程。

总之,PyTorch是一个简洁优雅且高效快速的深度学习框架。PyTorch简单易用和出色的性能、易于调试性让其受到了数据科学家和深度学习研究人员的广泛欢迎和认可。PyTorch的设计追求最少的封装,其大量使用了Python概念,例如类、结构和条件循环,允许用户以面向对象的方式构建深度学习算法。PyTorch支持用户在前向过程(forward pass)中定义Python允许执行的任何操作。反向过程(backward pass)会自动从图中找到去往根节点的路径,并在返回时计算梯度。这样的设计使得用户可以专注于实现自己的想法,而不需要考虑太多关于框架本身的束缚。同时,PyTorch的灵活性不以速度为代价,在许多评测中,PyTorch的速度表现胜过TensorFlow和Keras等流行框架 。

1.2 PyTorch的主要应用

·         计算机视觉

使用PyTorch程序员可以处理图像和视频,开发高度准确和精确的计算机视觉模型,如图像分类模型、对象检测模型和生成模型等。

·         自然语言和序列问题

PyTorch可用于开发语言翻译、语言建模和聊天机器人等。利用PyTorch程序员可使用LSTM、GRU等处理自然语言、时间序列等方面的任务。

·         强化学习

PyTorch可用于实现深度强化学习算法,开发机器人运动控制等机器人技术。

1.3 总结

PyTorch目前已经是学术科研领域最受欢迎的深度学习矿框架,在工业领域也乘风破浪,越来越受欢迎,所以,如果读者希望进入人工智能领域,我个人推荐学习Pytorch 。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有