深度学习与图神经网络核心技术实践应用高级研修班-day2基于keras的深度学习程序开发(代码片段)

ZSYL ZSYL     2022-12-24     534

关键词:

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
    • 如果文件存在,可直接读取该文件
    • 否则,从网络中下载到该目录

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 预测结果



加油!

感谢!

努力!

深度学习与图神经网络核心技术实践应用高级研修班-day1深度学习的发展历史(完整版)

...发展历史1.深度学习发展历史2.深度学习的发展趋势3.人工神经网络4.模型与算法4.1前馈神经网络4.2前馈神经网络特点4.3前馈神经网络结构4.4BP神经网络4.5BP网络结构4.6BP网络学习算法4.6.1信号的前向传递过程4.6.1误差方向传导过程1.... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day4深度强化学习(deepq-learning)

深度强化学习(DeepQ-learning)1.深度强化学习简介2.DQN算法解析3.DQN在游戏中的应用4.代码讲解4.1数据预处理4.2网络结构4.3Exploration&Exploitation4.4经验回放机制4.5经验存储4.6经验回放1.深度强化学习简介传统的强化学习通常... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1典型深度神经网络模型

典型深度神经网络模型1.AlexNet模型1.1AlexNet:网络结构1.2AlexNet:特点1.3AlexNet:Dropout层1.4AlexNet:实验结果2.VGG(VisualGeometryGroup)2.1VGG特点:3*3卷积核2.2VGG特点:1*1卷积核2.3VGG网络结构3.ResNet3.1ResNet的诞生背景4.GoogLe 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1受限波尔兹曼机和深度信念网络

深度学习的常用模型及方法-受限波尔兹曼机和深度信念网络1.受限玻尔兹曼机1.1受限玻尔兹曼机原理1.2受限玻尔兹曼机实现2.深度信念网络2.1深度信念网络原理1.受限玻尔兹曼机受限玻尔兹曼机(RBM,RestrictedBoltzmannmachine&#... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1tensorflow和pytorch(代码片段)

深度学习与图神经网络-Tensorflow和Pytorch1.TensorFlow和Pytorch2.TensorFlow简介3.TensorFlow的API4.Pytorch简介5.Python安装6.TensorFlow安装7.Pytorch安装1.TensorFlow和Pytorch2.TensorFlow简介TensorFlow最初是由GoogleBrain团队(隶属于Goo 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1小样本学习与元学习

深度学习的常用模型及方法-小样本学习与元学习1.小样本学习1.12-way5-shot示例1.2基于模型的方法1.3基于度量的方法1.4基于优化的方法1.5数据集1.6基于混合注意力的原型网络2.元学习2.1元学习基础知识2.2元学习实际应用2.3元学习经... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day3对抗生成网络(generativeadversarialnetworks)

...N的原理1.8GAN的特性1.9深度GAN1.10GAN的基本框架1.11基于递归神经网络的GAN2.判别模型3.GAN的应用实例-图像超分辨率4. 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day2基于keras的深度学习程序开发(代码片段)

基于Keras的深度学习程序开发及模型构建1.Keras简介2.Keras模块3.Keras模型组织方式4.数据集导入(MNIST)5.网络层6.激活函数7.优化器(随机梯度下降优化器)8.损失函数9.初始化器10.正则化器11.案例代码11.1导入库函数11.2设置参数... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day2循环神经网络(rnn)

RNN循环神经网络1.RNN循环神经网络1.1循环神经网络(RNN)——网络结构1.2反向传播算法——链式法则1.3反向传播算法——参数更新1.4随时间反向传播(BPTT)2.RNN循环神经网络改进2.1长短期记忆网络(LSTM)——网络结... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1卷积神经网络和循环神经网络

深度学习的常用模型及方法-卷积神经网络和循环神经网络1.卷积神经网络(CNN)1.1CNN的生物学基础1.2CNN的历史2.循环神经网络(RNN)2.1网络结构1.卷积神经网络(CNN)每一个Convolutionlayer(卷积层)都... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1注意力机制(attention)

注意力机制1.Attention注意力2.Encoder-Decoder框架3.Attention的本质4.SelfAttention模型1.Attention注意力Attention:从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。2.Encoder-Decoder框架3.Attention的本... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1卷积神经网络(cnn详解)

卷积神经网络1.从神经元到多层神经网络1.1深度学习方法->反向传播1.2常见损失函数1.2.1均方误差1.2.2交叉熵损失函数2.卷积神经网络2.1卷积神经网络的产生背景2.2卷积层2.3滤波器与通道数2.4池化层2.5全连接层2.6激活函数层2.73DCNN... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day3去噪自编码器(denoising)

去噪自编码器(Denoising)1.问题背景2.问题定义3.实验方案3.1数据来源3.2获取带噪声图片3.3获取带噪声图片3.4模型实现3.5Encoder实现3.6Encoder实现4.实验效果1.问题背景简介自编码器(AutoEncoder)是深度学习中的⼀类无... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day4基于深度学习的图像分类(image_classification)(代码片段)

基于深度学习的图像分类1.图像分类任务2.常用数据集及模型介绍2.1发展简介2.2模型介绍3.基于深度学习模型逻辑3.1基本算法过程3.2多组卷积+激活+池化效果4.模型及代码分析4.1AlexNet(2012)4.2VGGNets(2014)4.3Res... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day3基于深度学习的视频行为识别(action_recognition)

基于深度学习的视频行为识别1.基于深度学习的视频行为识别2.基于C3D的视频行为识别方法3.基于LSTM的视频行为识别方法4.基于Attention的行为识别方法1.基于深度学习的视频行为识别视频行为识别视频行为识别是指给一个视频片段... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day4基于深度学习的目标检测(object_detection)(代码片段)

基于深度学习的目标检测(object_detection)1.目标检测相关介绍2.RCNN系列模型3.YOLO系列模型1.目标检测相关介绍目标检测要解决的问题适应不同尺度多样化2.RCNN系列模型(1)输入测试图像(2)利用SelectiveSearch算法在图像中从下到... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day3图神经网络(gnn)(代码片段)

图神经网络基础和基本思想1.图神经网络1.1图神经网络的定义和目标1.2图神经网络的思想和工作原理1.3图神经网络的应用场景2.图卷积神经网络2.1图卷积神经网络的定义2.2图卷积神经网络的卷积方式2.3卷积神经网络与图卷积神经... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1数据理解和处理(代码片段)

数据理解和处理0.数据理解和处理1.结构化数据2.图像数据3.时序信号0.数据理解和处理结构化数据图像数据时序信号1.结构化数据结构化数据也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式... 查看详情