
本章介绍框架的发展历史、框架特点和主要应用领域1.1 简介是一个开源的机器学习库, 是优先的深度学习框架, 它是科学计算框架Torch在某方面的衍生, 该框架的产生受到Torch以及另外一个框架的启发, Torch使用Lua作为开发语言, 而此框架使用了另一种来作为开发语言, 与类似, 此框架具有自动求导的动态图功能, 也就是所谓的by run, 即当解释器运行到相应的段落时才创建计算图。诞生之前, Caffe以及Torch这类深度学习库乃是颇受欢迎的深度学习库。后来深度学习飞速发展, 开发人员还有研究人员期待有个高效且易于使用的框架, 而且要借助编程语言来构建、训练以及评估神经网络。它是数据科学家和机器学习里极为受欢迎的编程语言之一, 研究人员期望在那个生态系统里运用深度学习算法这是很自然而然的需求。2017年1月, 由Adam、Sam Gross与等人牵头去开发的, 得到了赞助下并获得名为Yann LeCun此人为著名计算机科学家也是2018年图灵奖得主认可的人工智能研究院FAIR团队在上进行了开源。创建了这样一种 API, 它既易于使用, 又是易于自定义的, 在具备易用性的同时还提供了研究人员所需的低水平 API。自发布以后, 它受到了越来越多的关注以及使用, 是当前学术领域之中使用量最多、最受众人欢迎的深度学习框架。它允许研究人员借助 GPU 的算力去达成神经网络的加速, 为此它提供了自动微分机制, 借助此机制研究人员能够轻松地构建复杂的神经网络。主要有以下特点。1具有易用性以及灵活性, 给出易于运用的 API, 运用动态计算图模式保障了易用性与灵活性, 准许用户在运行期间构建计算图, 甚至准予其在运行之时更改计算图。2起到助力支持的这个, 能够顺畅地跟数据的科学栈予以集成, 它跟NumPy是极为相像的, 目的在于深度融入到内里, 我们能够如同运用NumPy 、SciPy、-learn这些其他相当的库那样平常便捷地把它所用。3部署不复杂, 有可用于大量规模部署模型的那些工具, 它身为开源项目之一部分, 是个方便使用的工具, 可达成大规模部署模型, 并且还给出了, 能在高性能的C相关运行环境当中把模型部署予以达成标点。4支持进行分布式训练, 能够达成在研究以及生产里的分布式训练, 还有性能方面的优化。5有着可供用于计算机视觉、自然语言处理 , NLP等方面领域开发等活动所需便利条件的、具备丰富工具和一类库等相关内容从而显得强大的生态系统。6存在一种被称为内置开放神经网络交换协议的东西, 其简称为open , ONNX , ONNX处于内置的核心位置, 所以把模型迁移到ONNX时, 用户无需安装任何别的包或者工具, 这样的情形致使能较为便利地与其他深度学习框架进行互操作, 凭借ONNX格式, 研究人士能够很轻松地将在上开发出来的模型, 部署到适用于生产的平台之上。7对移动端予以支持, 支持那种从能够到iOS以及安卓系统去进行部署的覆盖起始到结束整个过程的工作流程。总体而言, 它是一个具备简洁优雅特性, 同时又高效快速的深度学习框架。其简单易用的特点, 以及出色的性能、易于调试的特性, 使其受到了数据科学家以及深度学习研究人员的欢迎与认可。该框架的设计追求最少化的封装, 它大量运用了类、结构和条件循环等概念, 从而允许用户以面向对象的方式去构建深度学习算法。它支持用户在前向过程当中定义能够允许执行的任何操作。而在反向过程时, 它会自动从图里找到通向根节点的路径, 并且在返回的时候计算梯度。这样的设计致使使用者能够将精力集中于达成自身的念头, 而无需去思索太多有关框架自身的限制。与此同时, 其灵活性并非以速度作为代价, 在诸多评测当中, 它的速度展现超越了诸如和Keras这般的流行框架。1.2 的主要应用的主要应用如下。计算机视觉, 借助它程序员能够处理图像以及视频, 进而开发出高度精准和精确性十足的计算机视觉模型, 诸如像图像分类模型、对象检测模型还有生成模型等等。自然语言, 以及序列问题, 可用于开发语言翻译, 还有语言建模, 以及聊天机器人等。程序员能够利用长短期记忆网络long short-term , LSTM, 还有门控循环单元gated unit, GRU等, 去处理自然语言, 以及时间序列等方面的任务。强化学习, 它能够被用于达成深度强化学习算法, 进而开展机器人运动控制这类机器人技术。