深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发相关的知识,希望对你有一定的参考价值。
基于Keras的深度学习程序开发及模型构建
1. Keras简介
- 高级神经网络API
- Python语言实现
- 无缝切换CPU和GPU运行
- 简单快速制作网络原型
- 支持卷积神经网络和循环神经网络
2. Keras模块
主要模块
- 数据集 Datasets
- 网络层 Layers
- 激活函数 Activations
- 初始化器 Initializer
- 正则化器 Regularizers
- 约束项 Constraints
- 损失函数 Losses
- 优化器 Optimizers
- 评估标准 Metrics
- 回调函数 Callbacks
- 应用 Applications
3. Keras模型组织方式
- 序列模型
- 模型的网络层必须线性堆叠
- 适用于简单的网络模型
- 函数方式
- 可以构建多输出、网络层共享的网络模型
- 模型的数据数据流是有向无环图
- 适用于复杂模型
- 子类实例化
- 模块化构建,易于重复使用
三种写代码的方式
4. 数据集导入(MNIST)
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
-
返回值
- x_train, x_test: uint8,灰度图,尺寸(num_samples,28, 28)
- y_train, y_test: uint8, 数字标签,尺寸(num_samples,)
-
参数
- path,可选,默认为
'~/.keras/datasets/' + filename
- 如果文件存在,可直接读取该文件
- 否则,从网络中下载到该目录
- path,可选,默认为
5. 网络层
keras.layers.Conv2D(filters,
kernel_size,
strides=(1, 1),
padding='valid',
data_format=None,
dilation_rate=(1, 1),
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None
)
二维卷积主要参数
- filters: 滤波器输入数目(通道数)
- kernel_size: 卷积窗口大小
- strides: 卷积滑动步长
- padding: 填充的方式,可选’same’和’valid’
- ‘same’: 根据卷积窗口选择填充数目以使得输入和输出的高度和宽度相同
- ‘valid’: 不填充
- dilation_rate: 卷积的膨胀率,在膨胀卷积中使用
- activation: 激活函数
- use_bias: 是否使用偏置
- kernel_initializer: 卷积核参数的初始化方式
- kernel_regularizer: 卷积核参数的正则化函数
- kernel_constraint: 卷积核参数的约束函数
6. 激活函数
常见激活函数
- softmax
- tanh
- relu,elu,selu, • sigmoid,hard_sigmoid
- softplus,softsign
7. 优化器(随机梯度下降优化器)
keras.optimizers.SGD(
lr=0.01,
momentum=0.0,
decay=0.0,
nesterov=False
)
- lr: float,学习率
- momentum: float,动量系数
- decay: float,学习率衰减值
- nesterov:boolean,是否使用Nesterov动量
8. 损失函数
常见损失函数(keras.losses)
- mean_squared_error,mean_absolute_error
- categorical_crossentropy,sparse_categorical_crossentropy
- binary_crossentropy
9. 初始化器
常见初始化器(keras.initializers)
- Zeros
- Ones
- glorot_normal(截断正态分布)
- he_normal(何凯明提出)
10. 正则化器
常见正则化器(keras.regularizers)
- l1
- l2
- l1_l2
11. 案例代码
11.1 导入库函数
11.2 设置参数
11.3 加载数据集
11.4 数据预处理
11.5 模型构建-序列模型
11.6 模型构建-函数模型
11.7 模型构建-子类模型
DNN:Deep Neural Networks:深度神经网路
11.8 模型总结
11.9 模型编译
11.10 模型训练
11.11 模型预测
11.12 预测结果
加油!
感谢!
努力!
以上是关于深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发的主要内容,如果未能解决你的问题,请参考以下文章
深度学习与图神经网络核心技术实践应用高级研修班-Day3迁移学习(Transfer Learning)
深度学习与图神经网络核心技术实践应用高级研修班-Day1典型深度神经网络模型
深度学习与图神经网络核心技术实践应用高级研修班-Day1Tensorflow和Pytorch
深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发