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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_15642411/article/details/80017330

Introduce

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

How to install keras?

Keras 安装的话需要安装TheanoTensorFlow作为Keras的背景库

这里安装流程如下:

pip install Theano
#If using only CPU
pip install tensorflow
#If using GPU
pip install tensorflow-gpu
pip install keras

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

表示安装成功

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

原话来自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

1load 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))






 

 





 



 


















 


 

展开阅读全文

没有更多推荐了,返回首页