首页 > 编程知识 正文

神经网络代码,keras怎么保存模型

时间:2023-05-05 18:40:36 阅读:12891 作者:4903

要利用keras实现cnn模型,以下内容很重要:

(1)原始数据处理。 (可输入的格式)

(2)构建卷积层、池化层、全连接层

)3) size相对于各层输入数据的变化。

1 .库部署

np_utils库的功能应该类似于对标签进行one-hot处理。

from models导入序列是keras的构建模型框架,Sequential是一系列网络层按顺序排列的堆栈。

用. add ()层叠几个网络层以构成模型。

from models.layers import dense、activation、convolution2D、maxpooling2d和flatten是导入的模型的每个网络层。

dense :全连接神经网络层;

激活:激活函数;

转换2d :卷积层

最大轮询2d :池化层

(Flatten )用于数据的多维变换,实现从卷积层到全连通层的变换。

优化器是模型的优化程序,对学习率的处理主要取决于优化程序。

2 .输入数据的处理

训练集的输入格式为600002828,共指向60000个样本。 每个样本是2828个像素图像。 因为数据是黑白数据,所以没有RGB维度。

CNN模型的标准格式为出入纵横*高,高度实际上是图像的颜色,修改数据没有高度一维度,所以在reshape中增加一个维度。

由于缺少RGB维,在原始数据的采样数之后添加了颜色维。 因为是黑白图像,所以这个维度是1。 其实高度是1。

除以255是为了归一化。 其实也有其他方法。 标准化。

3 .模型构建

model=Sequential ()是使用keras框架的一个方便之处,它只需要用add方法将网络中的每个层相加,然后根据每个层进行设计,最终用add构建模型。

第一个卷积层:

卷积层中最重要的是滤波器,通过使用滤波器提取原始数据的特征。 因此,在卷积层中,相对于滤波器设计,有个数、尺寸、填充。 常见的过滤器大小为33或55。 个数从少到多加倍。

在该情况下,过滤器的个数为32,尺寸为5*5。

启用函数

在卷积层之后添加激活函数。 激活函数有sigmoid、tanh等多种。

池化层

池化层主要对卷积层提取的数据进行特征简化,其中包括最大池化、和平均池化。 池化后,原始数据大小的长宽将减半。 在此情况下,经过第一次池化,长宽比从2828变为1414。

第二层卷积层、激活函数、池化层。

弄平

提取特征后,需要输入所有连接层。 但是,由于卷积后得到的是多维图像(多个filter,有几个filter就有几张图像),所以不能直接输出到全连接层dense,所以需要将中途得到flatten的多个特征图平坦化。

所有连接层

让我们把最后提取的特征在全连通层降低一个特征维度。 然后,输出类别数。

优化程序

最后定义优化程序其实是定义学习率。

编译模型

设计模型的损耗函数。 这种情况的损失函数是categorical_crossentropy (交叉熵损失函数),多分类使用交叉熵损失函数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。