如何评价深度学习框架Keras?
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share
这几年一直在用TensorFlow和Theano,说点个人感受 :D
优点:
1、Keras基于python,backend可以是TensorFlow或Theano,人气比较旺。
2、和其他high-level API一样,都是直接提供上层的框架,很快可以搞出个神经网络原型。
缺点:
1、不支持seq2seq,搞不了高级点的nlp(现在好像支持了)。不过我发现tflearn,lasagne 都不支持seq2seq。目前只知道torch7支持。
2、在TensorFlow backend时,跑同样的模型比纯TensorFlow要慢一倍。。。
3、没有增强学习工具箱,自己修改实现很麻烦。
4、封装得太高级,训练细节不能修改、penalty细节很难修改、不合适算法研究。
5、用TensorFLow backend时速度比纯TensorFLow 下要慢很多。
6、最近更新很慢。
综上所述,我个人觉得:
Keras 适合快速体验 ,但若想学扎实一点则用 Tensorlayer 或者直接使用 TensorFlow 和 Theano。
首先必须要说的就是,不管你要做什么,只要是deep leanring有关的,那么tensorflow是你不可能绕过的,就不说现在很多人论文用tensorflow,工业界用tensorflow的也很多,而且Google推出了tpc,毫无疑问有了tpu,tensorflow速度肯定会更快,可以很明显的感觉到Google在强推tensorflow,而tensorflow目前也算是默认的老大地位。
有了这一点,我们就可以来谈谈keras了,因为keras的后端有tensorflow,也就是说要使用tensorflow可以用keras来简单的代替。我之前一直觉得keras封装的太高级,不够灵活,而tensorflow又显得很笨重,所以对keras和tensorflow一直有点抵触,不想有tensorflow或者keras来实现模型。
后面出了pytorch,我就去玩pytorch去了,感觉pytorch特别轻,而且很灵活,突然我发现pytorch有好多地方和keras其实挺像的,于是有回到keras看了看,发现其实可以把keras和tensorflow结合起来用,这样既轻便,同时也有很强的灵活性,相当于把一些重复性的繁琐的操作用keras封装起来,而一些自己需要设计的东西呢还是可以用tensorflow自己设计,可以看看这个链接将Keras作为tensorflow的精简接口 - Keras中文文档。
pytorch由于动态图的关系确实很灵活,但是performance应该不算很好,没有tensorboard可视化,虽然github有人自己想办法弄出来了,同时也分享了,但是还是略显麻烦,而且分布式支持应该也不太好,毕竟定位于科研,而caffe2应该是fb强推的工业化框架。
所以keras+tensorflow应该算是比较好的一种解决办法。对于初学者可以用keras搭搭积木,熟悉之后可以和tensorflow配合起来实现很多复杂功能。所以keras提供了从初学者到高级使用者都可以满足的功能,所以keras其实还是挺好的。
另外对于速度方面我没有比较过,不知道keras到底慢在什么方面,如果用keras+tensorflow,我觉得速度应该和tensorflow相当,毕竟只是使用了几个简单的layer封装,而训练过程还是暴露在tensorflow下。
个人愚见,以上。
keras的几大特点:
文档齐全
上手快速
纯Python编写
更新迅速
论坛活跃
就是运行速度不太快= =
不过我又不在乎速度~
另外,欢迎访问keras中文文档~
Keras中文文档
记得点进github的页面加颗星哦~
https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149( 欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章)
如何评价深度学习框架Keras?的更多相关文章
- 基于Theano的深度学习框架keras及配合SVM训练模型
https://blog.csdn.net/a819825294/article/details/51334397 1.介绍 Keras是基于Theano的一个深度学习框架,它的设计参考了Torch, ...
- 深度学习框架Keras与Pytorch对比
对于许多科学家.工程师和开发人员来说,TensorFlow是他们的第一个深度学习框架.TensorFlow 1.0于2017年2月发布,可以说,它对用户不太友好. 在过去的几年里,两个主要的深度学习库 ...
- 深度学习框架Keras介绍及实战
Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行.Keras 的开发重点是支持快速的实验.能够以最小的时延 ...
- 基于Windows,Python,Theano的深度学习框架Keras的配置
1.安装Anaconda 面向科学计算的Python IDE--Anaconda 2.打开Anaconda Prompt 3.安装gcc环境 (1)conda update conda (2)cond ...
- 深度学习框架Keras安装
环境:Windows 10 64位 版本!版本!版本!不要下载最新版本的! 一点要按照这个来!安装顺序也最好不要错! 首先安装DirectX SDK工具包 ,这是链接:https://www.micr ...
- 常用深度学习框架(keras,pytorch.cntk,theano)conda 安装--未整理
版本查询 cpu tensorflow conda env list source activate tensorflow python import tensorflow as tf 和 tf.__ ...
- 一个可扩展的深度学习框架的Python实现(仿keras接口)
一个可扩展的深度学习框架的Python实现(仿keras接口) 动机 keras是一种非常优秀的深度学习框架,其具有较好的易用性,可扩展性.keras的接口设计非常优雅,使用起来非常方便.在这里,我将 ...
- Keras深度学习框架安装及快速入门
1.下载安装Keras 如果你是安装的Anaconda组合套件,可以直接在Prompt上执行安装命令:pip install keras 注意:最下面为Successfully...表示安装成功! 2 ...
- 深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras
TheanoTheano在深度学习框架中是祖师级的存在.Theano基于Python语言开发的,是一个擅长处理多维数组的库,这一点和numpy很像.当与其他深度学习库结合起来,它十分适合数据探索.它为 ...
随机推荐
- ASP.NET实现验证码图片
新建一个checkcode.aspx文件,页面中不用写任何东西,在代码中,Page_Load中写入如下代码: string chkCode = string.Empty; int ix, ...
- Java数据结构浅析
程序 = 数据结构 + 算法 本文概述Java中常用的数据结构,并简述其使用场景 1. 数据结构的定义 数据结构是一种逻辑意义,指的是逻辑上的数据组织方式及相应的处理,与数据在磁盘的具体存储方式不完全 ...
- 分布式系统读写模型中的Quorum机制
分布式系统的设计中会涉及到许多的协议.机制用来解决可靠性问题.数据一致性问题等,Quorum 机制就是其中的一种.我们通过分布式系统中的读写模型来简单介绍它. 分布式系统中的读写模型 分布式系统是由多 ...
- deep_learning_初学neural network
神经网络——最易懂最清晰的一篇文章 神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学 ...
- PCB检查步骤
1.原理图先每个模块都检查一边. 2.特别注意容易接错的信号线,比如RX,TX是否接反了. 3.检查容易出错的封装和新封装.比如三极管的管脚是否与实物对应.连接器等的封装是否忘记了镜像. 4.分层查看 ...
- Cubase如何进行音频移调
- git撤销pull命令
1.运行git reflog命令查看你的历史变更记录 2.然后用git reset --hard HEAD@{n},(n是你要回退到的引用位置)回退. 比如上图可运行 git reset --hard ...
- jquery之闭包
闭包 常见形式是函数A里面定义一个函数B,并返回函数体的引用,很抽象是不是,具体代码如下: function wenwa() { ; function cj() { console.log(" ...
- TensorFlow - 深度学习破解验证码 实验
TensorFlow - 深度学习破解验证码 简介:验证码主要用于防刷,传统的验证码识别算法一般需要把验证码分割为单个字符,然后逐个识别,如果字符之间相互重叠,传统的算法就然并卵了,本文采用cnn对验 ...
- Codeforces Round #427 (Div. 2) [ C. Star sky ] [ D. Palindromic characteristics ] [ E. The penguin's game ]
本来准备好好打一场的,然而无奈腹痛只能带星号参加 (我才不是怕被打爆呢!) PROBLEM C - Star sky 题 OvO http://codeforces.com/contest/835/p ...