继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Keras 深度学习框架介绍----一起来慢慢走进deep learning

慕斯王
关注TA
已关注
手记 342
粉丝 110
获赞 512

Introduce



Keras是一个高级API,用Python编写,能够在TensorFlow、Theano或CNTK上运行。Keras提供了一个简单和模块化的API来创建和训练神经网络,隐藏了大部分复杂的细节。

How to install keras?

Keras 安装的话需要安装Theano和TensorFlow作为Keras的背景库


这里安装流程如下:
[python] view plain copy

  1. pip install Theano  

  2. #If using only CPU  

  3. pip install tensorflow  

  4. #If using GPU  

  5. pip install tensorflow-gpu  

  6. pip install keras  

笔者的开发环境是spyder,所以在命令行输入import  keras 。显示如下的话:

表示安装成功

Attention:笔者测试了一个二元分类程序,运行的时候,各种报错,然后网上查询资料。得知keras 默认backend是tensorflow。但是keras 只对theano 友好,所以只需要安装theano就行,然后让theano作为keras的backend.

原话来自Jason Brownlee, Ph.D 。见下图:

https://machinelearningmastery.com/tutorial-first-neural-network-python-keras/---JasonBrownlee, Ph.D 写的学习keras 的资料,网页下面的评论这个博士几乎每个人都回复了,很耐心,而且个人觉得看这些评论是解决自己疑问的好地方!!!!!

<1>配置theano 作为backend 的方法

C盘---用户--.keras 文件夹下--keras.json


将”backend”:”tensorflow” 改为图上所示。

<2> 进入安装python目录下的site-packages文件下(这个不再多说,写py程序的人都知道这个文件夹存储着什么)----keras文件夹-----backend文件夹----打开__init__.py脚本

将_BACKEND=”tensorflow”改为上图所示,其默认为tensorflow。



Keras workflow

第1步:load data

第2步:创建模型

1、Sequential 这是最常用的

2、Functional API 设计复杂模型,如多个输出等

方式1:from keras.modelsimport Sequential

from keras.layersimport Dense, Activation

model =Sequential([Dense(10, input_shape=(nFeatures,)),Activation('linear') ])

方式2:from keras.modelsimport Sequential

from keras.layersimport Dense, Activation

model = Sequential()

model.add(Dense(10, input_shape=(nFeatures,)))

model.add(Activation('linear'))

方式1等价与方式2,注意的是在第一层要指定输入的特征的大小,如样本m*n,输入n

第3步:配置参数

model.compile(optimizer='rmsprop',loss='mse', metrics=['mse', 'mae'])

参数含义分别是:

1、指定一个优化器,来更新权重

2、指定损失函数

3、指定度量标准

Foroptimizer

  • Stochastic     Gradient Descent ( SGD ),

  • Adam,     Adam: A method  for Stochastic Gradient Descent

  • RMSprop,

  • AdaGrad,

  • AdaDelta,     etc.

RMSprop 大多数问题中最好的优化器

至于损失函数要根据你的目的不同而设置

  • binary-cross-entropy     for a binary classification problem―――二元分类

  • categorical-cross-entropy     for a multi-class classification problem――多元分类

  • mean-squared-error     for a regression problem and so on.――均方根误差回归之类

第4步:训练模型

model.fit(trainFeatures,trainLabels, batch_size=4, epochs = 100)

第5步 模型评估

scores= model.evaluate(X, Y)

print("\n%s:%.2f%%" % (model.metrics_names[1], scores[1]*100))





原文出处

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP