使用Keras搭建深度学习模型

前言

目前深度学习领域的主流框架

  • tensorflow
  • keras
  • pytorch
  • caffe
  • theano
  • paddlepaddle

keras

代码架构

keras代码风格相比于其他框架更符合人的思维
在这里插入图片描述

模型

  • 模型的组成分为三部分:输入层、网络层、输出层

输入层

  • 输入层的作用时规定了模型输入的shape
from keras.layers import Input

ipt = Input(shape=(feature,))

注意**,shspe不包含样本数量的维度**。

参数详情

在这里插入图片描述

网络层

网络层的定义如:全连接层、卷积层、LSTM层,自定义网络层等

  • from keras.layers. import Dense,Conv2D,LSTM.
    一些常见的网络层主要参数如下,其他网络层参数详情可以自己去文档溜达溜达。

  • Dense(units,activation = None…)

    • units: 神经元的个数。
    • activation 激活函数.
  • Conv2D (filters, kernel_size, strides=(1, 1), padding=‘valid’, activation=None, …)

    • filters: 整数:输出空间的维度,(即卷积中的滤波器的输出数量)
    • kernel_size: 一个整数,或者两个整数表示的元组和列表,指明2D卷积窗口的高度和宽度。可以是一个整数,为所有空间维度指定相同的值。
    • strides: 一个整数,或者 2 个整数表示的元组或列表, 指明卷积沿宽度和高度方向的步长。 可以是一个整数,为所有空间维度指定相同的值。 指定任何 stride 值 != 1 与指定dilation_rate 值! = 1两者不兼容。
    • padding: “valid” 或 “same” (大小写敏感)。
    • activation 激活函数》

LSTM

( units, activation=‘tanh’,return_sequences=False,…)

  • units: 输出向量的维度,
  • activation:激活函数
  • return_sequences: 布尔值,是返回输出序列中的最后一个输出,还是全部序列,(即每一个时间步对应一个输出

关于网络层一些常见的激活函数

  • relu、tanh、sigmoid
    在这里插入图片描述

输出层

k e r a s keras keras没有项输出层一样专门的层定义,而是在模型的最后一个接入一个全连接层(Desnse),作为输出层

在这里插入图片描述

此处中最后一层即为输出层,该模型只有一个输出。

搭建

上一步,主要定义一些层的基本信息:如输入/输出,网络层(神经元数量、激活函数等等)。现在需要把这些层组建起来:

定义

在这里插入图片描述
在这里插入图片描述

编译

编译:指明模型训练时候用的优化器,损失函数、评价标准等等。

在这里插入图片描述

常见的优化器有: rmsprop、sgd

需要设置的优化器参数

在这里插入图片描述

常见的损失函数有:

在这里插入图片描述

常见的评价标准在这里插入图片描述

训练

在这里插入图片描述

分批训练

在这里插入图片描述

迭代训练

迭代训练相比较前两种较为复杂的,首先定义一个迭代器(即函数)

在这里插入图片描述

  • 有关yield关键字可自形百度了解。
    在这里插入图片描述

评估

在这里插入图片描述
对测试集进行评估,如果在模型编译的时候没有指明 m e t r i c s metrics metrics
则返回Loss对应指标,否则返回metrics对应指标

同样 f i t fit fit也分批迭代评估。

在这里插入图片描述

预测

在这里插入图片描述

保存

在这里插入图片描述
加载第一种保存的模型》

在这里插入图片描述
载第二种只保存权重的模型,相比较第一种优点复杂,首先要定义好相应的模型后再加载

在这里插入图片描述

总结

明天将项目给其搞完整,会自己将各种项目都给其搞定。keras库会根据项目将其详细学习,学会模型搭建以及模型的构造都行啦的样子与打算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

big_matster

您的鼓励,是给予我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值