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

1 篇文章 0 订阅
1 篇文章 0 订阅

Introduce

Keras 是一个高级 API ,用 Python 编写,能够在 TensorFlow Theano CNTK 上运行。 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))






 

 





 



 


















 


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值