keras官网(python3.6安装keras模块成功,但是运行不了,请问什么情况)
本文目录
python3.6安装keras模块成功,但是运行不了,请问什么情况
官网有要求:在安装Keras前请先安装以下其中一种依赖引擎:TensorFlow, Theano, or CNTK
Before installing Keras, please install one of its backend engines: TensorFlow, Theano, or CNTK. We recommend the TensorFlow backend.
如何比较Keras,TensorLayer,TFLearn
首先它们都是把神经网络抽象成不同的Layer,以便用户自定义网络。
Keras
优点:Theano时代就推出了,使用者较多,有个人维护的中文文档,虽然更新很慢。纯scikit-learn式编程,隐藏了数据流的细节,数据流没有叙述的很清楚,到目前为止,并没有理解keras的时间数据输入方式...
缺点:运行TensorFlow时很慢,拓展性差(国外测评说是因为 Keras 最开始只是为了 Theano 而开发的,TensorFlow发布后才写支持TensorFlow的代码,所以为了兼容牺牲了效率)。不适合科研单位和企业,换句话说毕业以后要重新学另外一个框架..... 复杂的情况会出现error,这时候调试只能靠运气了。。
TensorLayer
优点:对学术界的优势是灵活性很强,甚至可以很简单地实现动态网络结构(Neural Modular Network).... 对工业界的优势是运行速度快。教程很强大,还包含了 Google TensorFlow 官网的模块化实现。同时提供scikit-learn式的API,和专业级的API,适合新手到老手过渡。
缺点:刚刚推出(16年8月份)使用者少,但我发现中文使用者不少,有很多微信群、qq群可以交流,有可能和TL官方推出中文文档有关。
Tflearn
优点:不像Keras那样兼容两种后端,所以效率比 Keras 快,但根据国外测评还是比 TensorLayer慢一些。
缺点:维护不好,作者居然在github issues那里说 “有时间再实现 seq2seq”,我晕... 有对话为证Seq2Seq Machine Translation · Issue #120 · tflearn/tflearn · GitHub
国外对 TensorLayer 和 Keras 比较的结论基本是企业界和学术界使用 TensorLayer+TensorFlow 搭配,学生使用Keras(若未来想从事机器学习的工作,我个人建议还是好好看下TensorFlow吧)。
个人观点:学习 TensorFlow 是一个大趋势,题主提到的库都是基于 TensorFlow 开发的,选择一个库非常关键。若想熟练掌握深度学习,不妨先学习下 TensorFlow 本身
如何高效的学习TensorFlow代码
如何高效的学习 TensorFlow 代码?
2017-03-29
分类:
TensorFlow
目前TensorFlow代码已超过40w行,从代码量上来看,绝不是一个能够迅速上手的小项目。所以,想要精通TensorFlow的同学需要做好心理准备。
对于想要学习TensorFlow(以下简称TF)的人,根据目的不同,可以简单分为以下2类:1. 研究学者,仅仅需要TF这个平台实现深度学习算法,无需了解太多底层原理2. 好学的行业内人员(比如我⊙﹏⊙),不仅需要了解算法模型,同时还要熟悉TF平台的原理。在算子、通信、模型优化等方面进行平台的二次开发的人。研究学者: 你们可以考虑使用Keras,Python写的深度神经网络库,已经实现了绝大部分神经网络,如:RNN、GRU、LSTM,CNN,Pooling,Full-Connected,以及sigmoid、tanh、Relu、PRelu、SRelu等各种激活函数。并且采用TF/Theano作为后端计算引擎,自己本身拥有一套更高层的API,可以同时跑在TF/Theano平台上。 相对于TF来说,这个学习压力小了很多,我们公司负责算法的同事也是用Keras来写模型,然后我再用TF的API来实现分布式部署。附:
开发人员: 对于我们这类人来说,首先需要弄清平台的很多名称、概念、定义, @贾扬清 曾说过TF有太多的Abstraction需要学习。诚然,这加大了我们的学习难度。但是,这也说明Google是想要把这个平台做大做强的,所以才会花时间去设计这一套框架和统一的结构。特别是读了部分源码后,更有这种感触。 那么,具体要怎么开始呢? 极客学院有翻译部分TF的官方文档,对于初步了解Tensor、DAG、Operator、Variable、Device、Optimizer等是帮助的。在看完这些概念后,有一个MNIST的例子程序作为TF的入门。这个样例用一个简单的Softmax实现了手写体数字识别的神经网络,只有一层参数。同时还介绍了Session、tf.placeholder、图的计算等重要概念。 在看完这个样例后,如果理解了DAG和Session,可以继续看用卷积神经网络实现的MNIST,准确率上升到了99%,相对于单层Softmax的92%左右,已经接近目前最高的准确率了。
TF v0.8发布了分布式模型,我也研究了将近1个月,才把Seq2seq机器翻译改造成了分布式,但是现在公司不让发布出来ORZ。好消息是,我改写了社区的MNIST分布式程序,并且已经合并到master分支了。所以,如果想要继续学习分布式的话,我建议可以看一下那份代码。比较遗憾的是,极客学院目前没有翻译分布式的教程,所以大家得移步TF官网(貌似被墙了)。 由于分布式的资料较少,我这里简单梳理下概念,大家在官网会看到他们的定义: TF采用了PS/Worker的结构来定义集群,其中 PS(parameter server):存储variable(模型参数),主要负责参数更新和发放; Worker:存储operator,主要负责图计算和梯度计算(TF使用Optimizer实现了自动化的梯度计算); job:由于工作类型不同,用job_name来区分ps和worker task:对于每个worker来说,具体做什么任务(算什么图)也有可能不同,用task_index区分 device:指具体的CPU/GPU,通常PS绑定到CPU上,Worker绑定到GPU上,各取所长。 syncReplicaOptimizer:同步优化器,其本质仍然是用普通优化器进行梯度计算,但是通过Queue机制和Coordinator多线程协同实现了所有worker的梯度汇总和平均,最终将梯度传回PS进行参数更新。 以上几个概念对于分布式的理解非常重要。当然,想要完全弄懂,还得不断的看文档和源码。源码我推荐几个python目录下非常值得看的基础类定义: framework/Ops.py:定义了Tensor、Graph、Opreator类等 Ops/Variables.py:定义了Variable类
更多文章:
瘦客户机是什么意思(电脑垃圾;一个世界性新难题 瘦客户机 是什么意思)
2024年5月2日 06:10
正版windows手机下载(Windows Mobile手机操作系统那里有下载)
2024年7月3日 04:11
应用商店app下载安装最新版(OPPO手机怎么登录华为游戏)
2024年7月12日 20:20
西游奇缘的龙炎兽咋加点,我找了个答案,3力一体一耐的,但是西游奇缘里根本没有耐力呀?西游奇缘会出3吗出了会叫什么
2024年3月27日 10:40
2022梦幻科举答题器(梦幻西游科举答题器下载,最新梦幻西游科举答题器)
2024年8月24日 15:25
吉里吉里模拟器(吉里吉里模拟器游戏删了,照片还在,进度会保存吗)
2024年6月30日 22:12