我的Keras学习笔记(更新中~)

本文是基于《Keras快速上手》整理的学习笔记,详细介绍了使用Keras构建端到端的MNIST数字识别网络。从数据预处理、模型搭建到训练和评估,涵盖卷积层、池化层、Dropout层、全连接层以及损失函数和优化器的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于《Keras快速上手》这本书整理一下我的学习笔记(PS:是本好书)

一、图像识别

端到端的MNIST训练数字识别神经网络搭建过程:

(1) 肯定是要各种引入了

(2) 读入数据,整理数据

              将训练数据和验证数据(X_train,X_test)进行整理:

                     ① 将原本n*m的数据整理成标准的四维张量形式(样本数量,长,宽,1)

                     ②把像素值变为浮点型

              将训练标签和验证标签(y_train,y_test)进行整理:

                     ①定义一个one hot函数(生成一个zeros(n);  将等于y值的位置设置为1,eg:y_ohe[y]=1)

                     ②利用刚刚定义好的函数将所有的标签转换为one hot(利用for循环)

(3) 开始搭建网络啦~

model=Sequential() model.add=……   OR model=Sequential()

①  先添加卷积层、

     model.add(Conv2D(设置过滤器的数量(也是输出维度);过滤器的大小;一次跳几个小格;是否在周围加上0;输入数据的长宽;激活函数))

②再添加池化层

     model.add(Maxpooling2D(在多大范围内取最大值你得告诉我呀))

③然后添加放弃层(防止过度拟合,扔掉一部分数据)

    model.add(Dropout(常用的为0.2、0.3))

④可以循环搭建啦,但是要更改过滤器的数量,逐渐增加

(4)构造全连接层,拍扁所有输出单元

     model.add(Dense(这一层的输出维度;用什么激活函数))

     ……

     model.add(Dense(最后一层的输出维度与分类数相同;用什么激活函数))

(5)构造损失函数

    model.compile(你说用啥损失函数loss就用啥;你说用哪个优化器optimizer就用哪个;训练的性能指标,包含准确率……)

(6)把数据组好队,开始训练啦~

    model.fit(训练数据;one hot训练标签;验证数据;验证标签;训练几个回合;几个数据一个小组)

(7)看看我的模型表现如何

    scores=model.evaluate(验证数据;验证标签;日志记录)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值