Keras主要包括14个模块,本文主要对Models、layers、Initializations、Activations、Objectives、Optimizers、Preprocessing、metrics共计8个模块分别展开介绍,并通过一个简单的Bp神经网络说明各个模块的作用。 
1. Model 
包:keras.models 
这是Keras中最主要的一个模块,用于对各个组件进行组装 
eg:

  1. from keras.models import Sequential
  2. model=Sequential() #初始化模型
  3. model.add(...) #可使用add方法组装组件

2. layers 
包:keras.layers 
该模块主要用于生成神经网络层,包含多种类型,如Core layers、Convolutional layers等 
eg:

  1. from keras.layers import Dense #Dense表示Bp层
  2. model.add(Dense(input_dim=3,output_dim=5)) #加入隐含层

3. Initializations 
包:keras.initializations 
该模块主要负责对模型参数(权重)进行初始化,初始化方法包括:uniform、lecun_uniform、normal、orthogonal、zero、glorot_normal、he_normal等 
详细说明:http://keras.io/initializations/ 
eg:

model.add(Dense(input_dim=3,output_dim=5,init='uniform')) #加入带初始化(uniform)的隐含层

4. Activations 
包:keras.activations、keras.layers.advanced_activations(新激活函数) 
该模块主要负责为神经层附加激活函数,如linear、sigmoid、hard_sigmoid、tanh、softplus、relu、 softplus以及LeakyReLU等比较新的激活函数 
详细说明:http://keras.io/activations/ 
eg:

model.add(Dense(input_dim=3,output_dim=5,activation='sigmoid')) 加入带激活函数(sigmoid)的隐含层

Equal to:

  1. model.add(Dense(input_dim=3,output_dim=5))
  2. model.add(Activation('sigmoid'))

5. Objectives 
包:keras.objectives 
该模块主要负责为神经网络附加损失函数,即目标函数。如mean_squared_error,mean_absolute_error ,squared_hinge,hinge,binary_crossentropy,categorical_crossentropy等,其中binary_crossentropy,categorical_crossentropy是指logloss 
注:目标函数的设定是在模型编译阶段 
详细说明:http://keras.io/objectives/ 
eg:

 model.compile(loss='binary_crossentropy', optimizer='sgd') #loss是指目标函数

6. Optimizers 
包:keras.optimizers 
该模块主要负责设定神经网络的优化方法,如sgd。 
注:优化函数的设定是在模型编译阶段 
详细说明:http://keras.io/optimizers/ 
eg:

model.compile(loss='binary_crossentropy', optimizer='sgd') #optimizer是指优化方法

7. Preprocessing 
包:keras.preprocessing.(image\sequence\text) 
数据预处理模块,不过本人目前尚未用过 
8. metrics 
包:keras.metrics 
与sklearn中metrics包基本相同,主要包含一些如binary_accuracy、mae、mse等的评价方法 
eg:

  1. predict=model.predict_classes(test_x) #输出预测结果
  2. keras.metrics.binary_accuracy(test_y,predict) #计算预测精度

9. Bp 神经网络的简单实现

  1. from keras.models import Sequential #导入模型
  2. from keras.layers import Dense #导入bp层
  3. train_x,train_y #训练集
  4. test_x,text_y #测试集
  5. model=Sequential() #初始化模型
  6. model.add(Dense(input_dim=3,output_dim=3,activation='sigmoid',init='uniform'))) #添加一个隐含层,注:只是第一个隐含层需指定input_dim
  7. model.add(Dense(1,activation='sigmoid')) #添加输出层
  8. model.compile(loss='binary_crossentropy', optimizer='sgd') # 编译,指定目标函数与优化方法
  9. model.fit(train_x,train_y ) # 模型训练
  10. model.evaluate(test_x,text_y ) #模型测试

深度学习--Keras总结相关推荐

  1. 利用深度学习(Keras)进行癫痫分类-Python案例

    目录 癫痫介绍 数据集 Keras深度学习案例 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 QQ交流群:903290195 癫痫介绍 癫痫,即俗称"羊癫风",是由多种 ...

  2. [深度学习] Keras 如何使用fit和fit_generator

    介绍 在本教程中,您将了解Keras .fit和.fit_generator函数的工作原理,包括它们之间的差异.为了帮助您获得实践经验,我已经提供了一个完整的示例,向您展示如何从头开始实现Keras数 ...

  3. 深度学习——keras教程系列基础知识

    大家好,本期我们将开始一个新的专题的写作,因为有一些小伙伴想了解一下深度学习框架Keras的知识,恰好本人也会一点这个知识,因此就开始尝试着写一写吧.本着和大家一起学习的态度,有什么写的不是很好的地方 ...

  4. python深度学习--Keras函数式API(多输入,多输出,类图模型)

    import numpy as np import pandas as pd import matplotlib.pyplot as plt import pylab from pandas impo ...

  5. 深度学习 Keras入门 一 之基础篇

    1.关于Keras 1)简介 Keras是由纯python编写的基于theano/tensorflow的深度学习框架. Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结 ...

  6. 私人定制——使用深度学习Keras和TensorFlow打造一款音乐推荐系统

    随着生活水平的极大提高,人们在很多情况下都会边听音乐边做一些事情,比如在健身房.出行路上等,越来越多的人也开始慢慢走在Hifi发烧友的这一条不归路上,频繁地换耳机.换功放等,小编在这里劝一下大家不要向 ...

  7. 用深度学习keras的cnn做图像识别分类,准确率达97%

    Keras是一个简约,高度模块化的神经网络库. 可以很容易和快速实现原型(通过总模块化,极简主义,和可扩展性) 同时支持卷积网络(vision)和复发性的网络(序列数据).以及两者的组合. 无缝地运行 ...

  8. 个人深度学习keras环境配置介绍

    因为我主要使用的是keras,所以我所要介绍的也是keras的环境,如果以后我转pytorch后再补充我的pytorch环境配置情况 我的keras环境配置如下: cudatoolkit 10.0.1 ...

  9. 深度学习Keras框架实践笔记

    在其他机器保存keras模型(.h5),load_model(~.h5)后报错[in from_config if 'class_name' not in config[0] or config[0] ...

最新文章

  1. C++知识点27——使用C++标准库(常用的泛型算法2)
  2. UNIX环境高级编程--第七章
  3. 解决 error: command 'swig' failed with exit status 1
  4. MSP430F5529 DriverLib 库函数学习笔记(十五)SFR 模块
  5. python利用()写模块_介绍一下我自己写的一些Python模块
  6. 2017-4-20实体类,数据访问类.字符串攻击.防攻击
  7. 吴恩达机器学习2——单变量线性回归
  8. 英语总结系列(二):爽约Pauel叔十五天
  9. 英伟达的“千人摩擦计划”:几千个智能体互相玩耍,学习跑酷更轻松
  10. kernel.sem信号量参数调优,以及ipcs信号量队列查询
  11. mysql for CodeSmith
  12. Mongodb数据库安装
  13. 80端口被屏蔽解决方法
  14. 来吧,我是BOSS!
  15. Dijkstra迪杰斯特算法(C++版本和JAVA版本)
  16. 最好用的 20 款数据可视化工具
  17. Win10开启黑色护眼暗黑主题
  18. 淘宝店铺倒计时代码促销倒计时代码装修代码店铺双十一双11倒计时代码生成器工具
  19. Mac安装VisualStudio出现无法启动,缺少mono相关
  20. 网络安全-渗透术语讲解

热门文章

  1. 三种嵌入式操作系统的分析与比析
  2. ARMV4,ARMV4T,ARMV4I的意义
  3. 差值平方和匹配_机器学习实战 | 简单目标识别与意图分析之模板匹配
  4. 计算机用户win7修改不,Win7电脑时间改不了的解决方法
  5. python特征递归消除
  6. 【转】2.1(译)关于async与await的FAQ
  7. 第八节:语法总结(2)(匿名类、匿名方法、扩展方法)
  8. 27代理模式(Proxy Pattern)
  9. 如何重新安装 Linux 的操作管理套件 (OMS) 代理
  10. SharePoint 站点结构及概念