第4章 Keras入门
第4章 Keras入门
Python的科学计算包主要是Theano和TensorFlow:很强大,但有点难用。Keras可以基于这两种包之一方便地建立神经网络。本章包括:
- 使用Keras进行深度学习
- 如何配置Keras的后端
- Keras的常见操作
我们开始吧。
4.1 Keras是什么?
Keras可以基于Theano或TensorFlow建立深度学习模型,方便研究和开发。Keras可以在Python 2.7或3.5运行,无痛调用后端的CPU或GPU网络。Keras由Google的Francois Chollet开发,遵循以下原则:
- 模块化:每个模块都是单独的流程或图,深度学习的所有问题都可以通过组装模块解决
- 简单化:提供解决问题的最简单办法,不加装饰,最大化可读性
- 扩展性:新模块的添加特别容易,方便试验新想法
- Python:不使用任何自创格式,只使用原生Python
4.2 安装Keras
Keras很好安装,但是你需要至少安装Theano或TensorFlow之一。
使用PyPI安装Keras:
sudo pip install keras
本书完成时,Keras的最新版本是1.0.1。下面这句话可以看Keras的版本:
python -c "import keras; print keras.__version__"
Python会显示Keras的版本号,例如:
1.0.1
Keras的升级也是一句话:
sudo pip install --upgrade keras
4.3 配置Keras的后端
Keras是Theano和TensorFlow的轻量级API,所以必须配合后端使用。后端配置只需要一个文件:
~/.keras/keras.json
里面是:
{"epsilon": 1e-07, "floatx": "float32", "backend": "theano"}
默认的后端是theano
,可以改成tensorflow
。下面这行命令会显示Keras的后端:
python -c "from keras import backend; print backend._BACKEND"
默认会显示:
Using Theano backend. theano
变量KERAS_BACKEND
可以控制Keras的后端,例如:
KERAS_BACKEND=tensorflow python -c "from keras import backend; print backend._BACKEND"
会输出:
Using TensorFlow backend. tensorflow
4.4 使用Keras搭建深度学习模型
Keras的目标就是搭建模型。最主要的模型是Sequential
:不同层的叠加。模型创建后可以编译,调用后端进行优化,可以指定损失函数和优化算法。
编译后的模型需要导入数据:可以一批批加入数据,也可以一次性全加入。所有的计算在这步进行。训练后的模型就可以做预测或分类了。大体上的步骤是:
- 定义模型:创建
Sequential
模型,加入每一层 - 编译模型:指定损失函数和优化算法,使用模型的
compile()
方法 - 拟合数据:使用模型的
fit()
方法拟合数据 - 进行预测:使用模型的
evaluate()
或predict()
方法进行预测
4.5 总结
本章关于Keras。总结一下:
- Keras是Theano和TensorFlow的封装,降低了复杂性
- Keras是最小化、模块化的封装,可以迅速上手
- Keras可以通过定义-编译-拟合搭建模型,进行预测

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
第3章 TensorFlow入门
第3章 TensorFlow入门 TensorFlow是Google创造的数值运算库,作为深度学习的底层使用。本章包括: TensorFlow介绍 如何用TensorFlow定义、编译并运算表达式 如何寻求帮助 注意:TensorFlow暂时不支持Windows,你可以用Docker或虚拟机。Windows用户可以不看这章。 3.1 TensorFlow是什么? TensorFlow是开源数学计算引擎,由Google创造,用Apache 2.0协议发布。TF的API是Python的,但底层是C++。和Theano不同,TF兼顾了工业和研究,在RankBrain、DeepDream等项目中使用。TF可以在单个CPU或GPU,移动设备以及大规模分布式系统中使用。 3.2 安装TensorFlow TF支持Python 2.7和3.3以上。安装很简单: sudo pip install TensorFlow 就好了。 3.3 TensorFlow例子 TF的计算是用图表示的: 节点:节点进行计算,有一个或者多个输入输出。节点间的数据叫张量:多维实数数组。 边缘:定义数据、分支、循环和覆盖的图...
- 下一篇
Java多线程学习(八)线程池与Executor 框架
Java面试通关手册(Java学习指南,欢迎Star,会一直完善下去,欢迎建议和指导):https://github.com/Snailclimb/Java_Guide 历史优质文章推荐: Java并发编程指南专栏 分布式系统的经典基础理论 可能是最漂亮的Spring事务管理详解 面试中关于Java虚拟机(jvm)的问题看这篇就够了 目录: [TOC] 本节思维导图: 思维导图源文件+思维导图软件关注微信公众号:“Java面试通关手册” 回复关键字:“Java多线程” 免费领取。 一 使用线程池的好处 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。 二 Executor 框架 2....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境