机器学习中的开源框架
在深度学习领域的五大巨头里,它们都各自力挺一种深度学习框架:
谷歌有自家的TensorFlow、
Facebook有Pytorch、
百度有PaddlePaddle、
微软有CNTK、
亚马逊的AWS则有MXNet,
华为有国内全栈的MindSpore,
一流科技的OneFLow
每种框架都有其优缺点,选择的时候更加需要根据自身业务的实际需求。例如需要用到对时间序列分析的,那么就会使用循环神经网络Transformer、BERT等网络结构,而Pytroch、MindSpore、PaddlePaddle、Tensorflow的处理就非常好,Google的TensorFlow则是支持其他机器学习算法,拥有更加完善的AI体系,还支持强化学习Reinforcement learning算法。常言道,欲先攻必先利器,在正式进入深度学习之前,让我们一起来了解一下各大主流深度学习框架之间的关系与其优缺点。
Tensorflow
Pytorch
MXNet
MXNet 是亚马逊(Amazon)选择的深度学习库,拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块。得益于AWS的强大支撑,其在云端非常友好,可直接与S3,HDFS和Azure兼容。不过缺点也很明显,社区还是比较小,另外学习曲线比Pytroch高,目前还做不到Python native。SUM:MXNet注重云侧分布式部署,对于AWS重度爱好者是一个DL利器,方便原型算法设计后进行云侧部署。
OneFlow
OneFlow是一流科技开发的深度学习框架,作为国家4大重点实验室(浙江之江实验室)的首选框架,通过之江的科研实力进行对外辐射,这一点还是很佩服的。其核心代码执行都是以Task列表的形式实现,不同的求解器都是在执行一个task流。另外在分布式多机多卡和单机多卡中,runtime的设计使用了分布式Actor机制使得框架天然支持流水线,所以分布式还是很友好,性能也很高。问题就是社区实在太小,很多资料参考不完善,另外易用性跟Pytorch相比,有待提升。SUM:性能和易用性兼顾确实很难,如果玩分布式GPU集群希望性能高,那么OneFlow可能很适合。
MindSpore
PaddlePaddle
机器学习中的开源框架相关推荐
- 11 个 AI 和机器学习模型的开源框架
译文链接:http://www.codeceo.com/article/11-frameworks-for-ai-and-ml.html 英文原文:11 Open-Source Frameworks ...
- 关于Eclipse中的开源框架EMF(Eclipse Modeling Framework),第三部分
Eclipse Modeling Framework(EMF)中包含了一个开放源代码的工具 JMerge,这个工具可以使代码生成更加灵活,可定制性更好.本文使用一个例子来展示如何将 JMerge 添加 ...
- github怎么隐藏自己的pr记录_在GitHub中向开源框架提交PR的过程
最近在读RandomX的文档的时候发现一点小错误,现在就记录一下我提交PR的过程. 1.fork 2.需要将远程仓库clone到本地 git clone https://github.com/***/ ...
- 自动驾驶方程式赛车,微软发布机器学习开源框架 | AI一周学术
大数据文摘专栏作品 作者:Christopher Dossman 编译:笪洁琼.conrad.云舟 呜啦啦啦啦啦啦啦大家好,本周的AI Scholar Weekly栏目又和大家见面啦! AI Scho ...
- tomcat中request对象是被创建的_常用开源框架中设计模式使用分析(全)
一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者可以简化代码,或者可以是代码逻辑开起来清晰,或者对功能扩展很 ...
- 史上最全Android开发中100%会用到的开源框架整理(1/5)
其实这个开源框架整理很久了,只是一直放在有道云笔记里面,笔者还有很多写得文章都放在有道云笔记里面,有时间都好好整理一下放出来,本篇文章也会不定期更新,由于整理的开源框架分类都有200多个,所有这次只将 ...
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)...
AsyncTask使用方法详情:http://www.cnblogs.com/zzw1994/p/4959949.html 下拉开源框架PullToRefresh使用方法和下载详情:http://ww ...
- 从GitHub中整理出来的15个最受欢迎的Python开源框架,你喜欢哪个
从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框架 Djang ...
- [js高手之路]从零开始打造一个javascript开源框架gdom与插件开发免费视频教程连载中...
百度网盘下载地址:https://pan.baidu.com/s/1kULNXOF 优酷土豆观看地址:http://v.youku.com/v_show/id_XMzAwNTY2MTE0MA==.ht ...
最新文章
- 【aelf开发者社区招募】重构 C#代码--中高级工程师预期小半天到一天
- 成功解决 ModuleNotFoundError: No module named ‘PyQt5.sip‘
- 【回文数】算法优化笔记
- C++中的定位放置new(placement new)
- 个人收藏的flex特效网址【经典中的极品】
- 基于平面 marker 的 Bundle Adjustmet
- 《计算机系统:核心概念及软硬件实现(原书第4版)》——1.4数据库系统
- Ubuntu16.04+ROS Kinetic环境下svo编译运行
- Hadoop Trash回收站使用指南
- java ajax json 乱码_ajax请求返回200,json中文乱码怎么破?
- eXeScope 注册机制破解
- Oracle集成基础安装包+补丁包
- 企业微信本地测试环境搭建
- java:换行符“\n”
- 数字频率计的功能及工作原理
- Sklearn 中的可用数据集
- ESD5V5U5ULC TVS DIODE SC74-6 TVS - 二极管
- 该内存不能为 read/written解决办法
- 虚幻4引擎开发的手游_虚幻引擎 4 手游《绝地求生:刺激战场》 开发经验分享...
- 图片转pdf、长图转pdf
热门文章
- 三星Q850T全景声回音壁发布,带后环绕5.1.2回音壁
- SSH中关于级联删除不能实现的一些问题
- matlab角标引用
- pythonsqrt取整函数_python取整函数
- 不越狱可以安装多个微信吗?教你不越狱安装多个微信技巧
- 【STM32+cubemx】0028 HAL库开发:MPU6050官方DMP的移植和使用(续上节)
- 【SOLIDWORKS学习笔记】装配体基础操作
- 联想t系列服务器,联想更新2019年款ThinkPad X与T系列笔记本电脑产品
- HashMap扩容机制(JDK1.8)-- 源码鉴赏与启发
- 从Rust到远方:WebAssembly 星系