- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PyTorch简介;2017年1月,脸书人工智能研究院在GitHub上开源了PyTorch深度学习框架,并迅速成为GitHub热度榜榜首。
PyTorch特点是拥有生态完整性和接口易用性,使之成为当下最流行的动态框架之一。
;;1.TensorFlow
2015年,某公司宣布推出全新的机器学习开源工具TensorFlow,是基于深度学习基础框架DistBelief构建而成。
主要用于机器学习和深度神经网络,一经推出就获得了较大的成功,并迅速成为用户使用最多的深度学习框架。
并在2019年,推出了TensorFlow2正式版本。
而TensorFlow两个版本之间各有优势,1.x的版本使用静态图进行运算,计算速度会比2.x版本的动态图快,但是2.x搭建网络的过程比1.x版本的简单。
;因为TensorFlow得到了专业人员的进行开发、维护,所以该框架有着良好的发展性。
同时,TensorFlow还拥有众多低级、高级接口,使得其功能十分丰富。
但是,由于TensorFlow发展过快,造成了接口、文档混乱的问题。;Caffe的全称是ConvolutionalArchitectureforFastFeatureEmbedding,同样是一个高效的深度学习框架,支持命令行、Python和MATLAB接口,支持在CPU上运行,也可以在GPU上运行。
Caffe2继承了Caffe的优点,速度更快,现在仅需一小时就可以训练完成ImageNet这样超大规模的数据集。
Caffe2尽管已上市很长时间了,但仍然是一个不太成熟的框架,官网至今也没有提供完整的文档。
Caffe的特点概括起来,全平台支持,性能优异,不足之处文档完善不够。
;Keras是由Python编写而成并使用TensorFlow、Theano以及CNTK作为后端。
Kera1.1.0以前的版本主要使用Theano作为后端,这是因为Keras本身并不具备底层运算的能力,所以需要具备这种能力的后端协同工作。
在TensorFlow开源后,Keras开始支持TensorFlow作为后端。
随着TensorFlow受欢迎程度的增加,Keras开始将TensorFlow作为默认后端。
Keras的特性之一就是可以改变后端,从一个后端训练并保存的模型可以在其他后端加载和运行。
在TensorFlow2发布时,Keras成为了TensorFlow的官方API,即tf.keras。
该API用于快速的模型设计和训练。
随着Keras2.3.0版本的发布,作者声明,Keras2.3.0是Keras首个与tf.keras同步的版本,也是最后一个支持多个后端(Theano、CNTK)的版本。
;CNTK是微软???发的深度学习框架,目前已经发展成一个通用的、跨平台的深度学习系统,在语音识别领域的使用尤其广泛。
CNTK拥有丰富的神经网络组件,使得用户不需要编写底层的C++或CUDA,就能通过组合这些组件设计新的、复杂的Layer。
同样,CNTK也支持CPU和GPU两种开发模式。
CNTK以计算图的形式描述结构,叶子节点代表输入或者网络参数,其他节点代表计算步骤。
CNTK同时也拥有较高的灵活度,通过配置文件定义网络结构,通过命令行程序执行训练,支持构建任意的计算图,支持AdaGrad、RmsProp等优化方法。
;MXNet是一个深度学习库,也支持主流的开发语言,如C++、Python、R、MATLAB、JavaScript。
支持命令行和程序,可以运行在CPU、GPU上。
它的优势在于同样的模型MXNet占用更小的内存和显存,在分布式环境下优势更明显于其他框架。
为了完善MXNet生态圈,其先后推出包括MinPy、Keras等诸多接口,但目前也停止了更新。
MXNet特点概括起来是分布式性能强大,支持开发语言丰富,但文档完整性不够,稍显混乱。
;各类框架的特点如表所示。;;相比较于年轻的PyTorch,TensorFlow由于发布较早,用户基数大,社区庞大,其生态相当完整,从底层张量运算到云端模型部署,TensorFlow都可以做到。
尽管PyTorch发布较晚,但PyTorch仍然有着较为完备的生态环境。
不同应用领域对应的PyTorch库如表所示。;对于计算机视觉,PyTorch有应用广泛的TorchVision库。
对于自然语言处理,PyTorch有PyTorchNLP、AllenNLP库。
对于图卷积这类新型图网络,有PyTorchGeometric库。
对于工业部署,ONN协议能保证模型的顺利部署。
对于上层API,基于PyTorch的Fastai框架相当简洁。;;1.简洁
简洁的好处就是代码易于理解。
PyTorch的设计追求最少的封装。
遵循着tensor→
文档评论(0)