版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/tsyccnh/article/details/78866080
Keras 入门课0 – 目录
网络上Keras入门的课程或教程都有很多,基本上都是一些最简单的例子,而自己真正去使用的时候,发现需要学习的内容还有很多,看官方文档的时候,效率也是比较低下的。所以才有了这个系列的课程。通过一些例子,逐渐深入的去学习Keras,每节课一个例子,遇到的新的知识点都会拿出来进行分析。这样就会形成一个知识点目录,之后想使用某个知识点的时候,可以很方便的根据知识点进行回看,查询对应的example,这样对于一些方法的使用和拓展都有很大的好处。
本系列主要针对一些Keras官方的一些examples来学习Keras的使用。课程使用的例子多数来自这里 https://github.com/keras-team/keras/tree/master/examples
官方给的examples有一些地方和最新的Keras版本不符合,我都相应做了修改。同时有一些累赘的地方也加了一些修改,删除。尽可能在每一课中做到代码清晰易懂,不重复。
课程1~6主要讲的就是CNN的一些实用操作,如果这个系列大家看着还好,以后可能还会出RNN系列
本系列课程代码,欢迎star:
https://github.com/tsycnh/Keras-Tutorials
文章目录
- Keras入门课1 – 用MLP识别mnist手写字符
- Keras入门课2 – 使用CNN识别mnist手写数字
- Keras入门课3 – 使用CNN识别cifar10数据集
- Keras入门课4 – 使用ResNet识别cifar10数据集
- Keras入门课5 – 网络可视化及训练监控
- Keras入门课6 – 使用Inception V3模型进行迁移学习
知识点目录
点击对应知识点可以直接跳转到指定文章,方便速查
数据处理相关
模型相关(Model)
- Sequential模型的定义,以及如何添加层
- 另一种使用Sequential()构建模型的方法,更加的简单快捷
- 使用函数式模型(Functional)更加自由的构建模型
- 将通过Functional方式定义的层初始化为一个模型(Model)
- 使用compile对网络进行配置
- 使用fit方法来对小数据库进行训练,这里的小数据库指的是所有数据可以一次性载入到内存
- 使用fit_generator来进行针对增强数据的训练
- 使用evaluate方法来对模型进行效果评估
- 保存模型
网络层相关(Layers)
- 如何对Dense层及Dropout层进行基本的配置
- Conv2D卷积层和MaxPooling2D池化层的使用
- 使用keras.layers.add方法,将两个一模一样的张量进行相加
- 如何设置网络层的参数为不可训练
- 使用GlobalAveragePooling2D规整网络输出
- 在预置模型顶部添加新的层
经典网络
训练技巧
- 在训练中调用回调函数
- 使用LearningRateScheduler在训练过程中动态的调节学习率
- 使用ModelCheckpoint保存checkpoint
- 使用ReduceLROnPlateau在训练进入平台期的时候动态调节学习率
- 两种常用迁移学习方法(tranfer learning,fine tune)及训练技巧