pytorch简介

Posted monkeyt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch简介相关的知识,希望对你有一定的参考价值。

#诞生

1.2017年1月,Facebook人工智能研究院(FAIR)团队在GitHub上开源了pyTorch,并迅速占领GitHub热度榜榜首。

#常见深度学习框架简介

#Theano

1、Theano最初诞生于蒙特利尔大学LISA实验室,于2008年开始开发,是第一个有较大影响力的Python深度学习框架;Theano是一个Python库,可用于定义、优化和计算数学表达式,特别是多维数组(numpy.ndarray),在解决包含大量数据的问题时,使用Theano编程可实现比手写C语句更快的速度,二通过GPU加速,Theano甚至比基于CPU计算的C语言快上好几个数量级;

2、不足:调试困难,构建图慢;

3、奠定:2017年9月28日发布"Theano is Dead",退出历史舞台,但是奠定了深度学习框架的设计方向——以计算图为框架的核心,采用GPU加速计算。

#TensorFlow

1、2015年11月10日,Google宣布退出全新的机器学习开源工具TensorFlow,TensorFlow最初是由Google机器智能研究部门的Google Brain团队开发,基于Google 2011年开发的深度学习基础架构DistBelief构建起来的;

2、应用:机器学习和深度神经网络,是一个非常基础的系统,因此可以应用于众多领域;

3、不足:

过于复杂的系统设计,TensorFlow在GitHub代码仓库的总代码量超过100万行;

频繁变动的接口;

接口设计过于晦涩难懂;

文档混乱脱节;

4、点评:不完美但最流行的深度学习框架,社区强大,适合生产环境。

#Caffe/Caffe2

1、Caffe的全称Convolutional Architecture for Fast Feature Embedding,他是一个清晰、高效的深度学习框架,核心语言是C++,支持命令行、Python和MATLAB接口,可以在CPU上运行也可以在GPU上运行;

2、Caffe的优点是简介快捷,缺点是缺少灵活性,不同于Keras由于太多封装导致灵活性丧失,Caffe灵活性的缺失主要是因为它的设计;

3、Caffe的作者从加州伯克利分校毕业后加入了Google,参与过TensorFlow的开发,后来离开Google加入FAIR,担任工程主管,并开发了Caffe2;Caffe2是一个兼具表现力、速度和模块性的开源深度学习框架;设计追求轻量级,强调便携性;

4、点评:文档不够完善,但性能优异,几乎全平台支持(Caffe2),适合生产环境。

#CNTK

1、2015年8月,微软公司在CodePlex上宣布由微软研究院开发的计算网络工具集CNTK将开源,5个月后,2016年1月25日,微软公司在他们的GitHub仓库上正式开源了CNTK;

2、CNTK性能比Caffe、Theano、TensorFlow等主流工具要强,CNTK支持CPU和GPU模式,和TensorFlow/Theano一样,它把神经网络描述成一个计算图的结构,叶子结点代表输入或者网络参数,其他结点代表计算步骤;

3、社区不够活跃,但是性能突出,擅长语音方面的相关研究。

#pytorch

简洁:pytorch的设计追求最少的封装,尽量避免重复造轮子,pytorch的设计遵循tensor->variable(autograd)->nn.Module三个由低到高的抽象层次,分别代表高维数组(张量)、自动求导(变量)和神经网络(层/模块),这三个抽象之间联系紧密,可以同时进行修改和操作;

速度:pytorch的灵活性不以速度为代价;

2018-10-04 21:59:38

易用:pytorch是所有框架中面向对象设计的最优雅的一个;

活跃的社区:pytorch提供了完成的文档,循序渐进的指南,作者亲自维护的论坛(https://discuss.pytorch.org/)供用户交流和求。

以上是关于pytorch简介的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch简介

(机器学习深度学习常用库框架|Pytorch篇)第一节:Pytorch简介和其核心概念

想读读PyTorch底层代码?这份内核机制简介送给你

PyTorch 之 简介相关软件框架基本使用方法tensor 的几种形状和 autograd 机制

PyTorch学习----01

Pytorch学习笔记:基本概念安装张量操作逻辑回归