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的灵活性不以速度为代价;
易用:pytorch是所有框架中面向对象设计的最优雅的一个;
活跃的社区:pytorch提供了完成的文档,循序渐进的指南,作者亲自维护的论坛(https://discuss.pytorch.org/)供用户交流和求。
2018-10-04 21:59:38
pytorch简介的更多相关文章
- [PyTorch 学习笔记] 1.1 PyTorch 简介与安装
PyTorch 的诞生 2017 年 1 月,FAIR(Facebook AI Research)发布了 PyTorch.PyTorch 是在 Torch 基础上用 python 语言重新打造的一款深 ...
- Pytorch快速入门及在线体验
本文搭配了Pytorch在线环境,可以直接在线体验. Pytorch是Facebook 的 AI 研究团队发布了一个基于 Python的科学计算包,旨在服务两类场合: 1.替代numpy发挥GPU潜能 ...
- pytorch 入门指南
两类深度学习框架的优缺点 动态图(PyTorch) 计算图的进行与代码的运行时同时进行的. 静态图(Tensorflow <2.0) 自建命名体系 自建时序控制 难以介入 使用深度学习框架的优点 ...
- PyTorch专栏(八):微调基于torchvision 0.3的目标检测模型
专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60分钟入门 PyTorch入门 PyTorch自动微分 PyTorch神经网络 P ...
- PyTorch专栏(六): 混合前端的seq2seq模型部署
欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/ 欢迎关注PyTorch官方中文教程站: http://pytorch.panchuang.net/ 专栏目录: 第一 ...
- PyTorch专栏(五):迁移学习
专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60分钟入门 PyTorch入门 PyTorch自动微分 PyTorch神经网络 P ...
- PyTorch专栏(二)
专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60min入门 PyTorch 入门 PyTorch 自动微分 PyTorch 神经 ...
- PyTorch专栏(一)
专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60min入门 PyTorch 入门 PyTorch 自动微分 PyTorch 神经 ...
- PyTorch专栏开篇
目前研究人员正在使用的深度学习框架不尽相同,有 TensorFlow .PyTorch.Keras等.这些深度学习框架被应用于计算机视觉.语音识别.自然语言处理与生物信息学等领域,并获取了极好的效果. ...
随机推荐
- python中的三元运算
一.三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 els ...
- DTO/DO等POJO对象的使用场景和 orika-mapper 框架的使用
对于项目而言, 我们一般会有DAO->Service->Controller分层设计, 这些层次体现了每层的作用, 而层次之间的数据传递对象设计很少被提及, 下面是一个相对完整的数据转换过 ...
- latex beamer 添加页码
导言中加 \setbeamertemplate{footline}[frame number]
- 2.解决虚拟机中centos联网的问题
首先:打开虚拟机的编辑菜单,选择“虚拟机网络编辑器” 虚拟机网络编辑器 在虚拟机网络编辑器中选择还原默认设置 接下来开启CentOS7虚拟机 在这里需要注意的是必需以管理员身份来进行设置,所以要用管理 ...
- vue安装scss,并且全局引入
在写vue的css样式时,觉得需要css预处理器让自己的css更加简洁.适应性更强.可读性更佳,更易于代码的维护,于是在vue-cli脚手架采用scss.写过的人都知道,每写一个.vue文件都要在st ...
- fiddler主要图标说明
主要图标含义说明: 正在将请求数据发往服务器 正在从服务器下载返回数据 请求过程中暂停 返回过程中暂停 请求中使用了HTTP HEAD方法; 返回中应该没有body内容 请求中使用了HTTP CONN ...
- Spring-boot 国际化
在application.properties文件中配置 spring.message.basename=i18n.login 页面使用 th:text="#{login.tip}" ...
- LuoGu P4996 咕咕咕
题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...
- JavaScript入门学习笔记(异常处理)
try:语句测试代码块的错误,当try中的代码块出错时执行catch中的代码块. catch:语句处理错误: throw:语句创建或抛出自定义异常. 三者一起使用可以控制程序流并生成自定义异常信息. ...
- 【python】多进程共享变量Manager
Manager的复杂结构赋值问题 Manager的字典类型: 如果value是简单类型,比如int,可以直接赋值给共享变量,并可以后续直接修改 如果value是复杂类型 ,比如list,dict,则必 ...