【1】Keras复习之模型,层,训练,评估与预测
本系列主要是针对文档的学习,文档地址是: www.keras.io,文档非常详细。
Keras
的核心数据结构就是模型,最简单的模型就是序贯模型,也就是Sequential
模型,是层的线性堆砌。如果是想要更加复杂的模型,则需要用Keras Functionl API
,用这个API我们就可以搭建任意复杂的模型了~~
但一般能简单的就用序贯模型。我们也从序贯模型开始。
使用方式也很简单:
from keras.models import Sequential
model = Sequential()
接着堆砌模型用.add
即可,比如堆砌全连接层:
from keras.layers import Dense
model.add(Dense(units=64, activation="relu", input_dim=100))
model.add((Dense(units=10, activation="softmax"))
这里,可以看到一点是,Keras
中的分层次的组织数据结构,模型是层的上级,模型都在keras.models
包内,层则都在keras.layers
内。
添加层时,只需要通过参数配置层即可,简单易用。
设定好模型,添加完层后,就可以compile
模型了。
model.compile(loss="categorical_crossentropy",optimizer="sgd",metrics=["accuracy"])
这里示例的是简单的配置,还可以更复杂一些,同时,我们也可以用下面的方式进行配置:
model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
效果是一样的。
现在我们可以准备好将模型拉出来训练了~~
model.fit(x_train, y_train, epoches=5, batch_size=32)
其中,x_train, y_train
都是Numpy
数组,epoches
和batch_size
是训练需要配置的基本参数了。
上面这种是在整个训练集上进行训练,有些时候,我们需要的是在某些batch
上进行训练,这也是可行的:model.train_on_batch(x_batch, y_batch)
。
训练完之后的模型,就可以用啦,但首先还是要看看它们的表现如何。
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
留个疑问,这里的batch_size
是怎么设定的?
其他的参数是很自然的,在数据准备时,我们就划分了一部分数据留作考试用,训练时是看不到的。
根据loss_and_metrics
的大小,我们就可以对模型的表现进行评价。
模型如果表现还不错的,就可以拿过来进行真刀真枪的预测啦~~
classes = model.predict(x_test, batch_size=128)
简单小结,可以看到,对模型不同阶段的运用,函数依次是:
- fit or train_on_batch, 训练用
- evaluate,评估用
- predict,预测用
且只有预测时不用提供标签数据,当然也无标签~~
本文到这里为止,通过Keras
的案例来学习是很棒的,地址是:https://github.com/keras-team/keras/tree/master/examples
END.
【1】Keras复习之模型,层,训练,评估与预测相关推荐
- 基于已有模型,训练新数据的方法
今天碰到一个问题,训练数据随着随着时间的累计越来越多.这样如果每一次训练都把所有的样本,训练一次,既浪费资源又耽误时间.所以,希望可以时间基于已有的模型,直接训练新的数据.比如,我用第一个月的数据训练 ...
- 手动/自动/交叉验证评估Keras深度学习模型的性能
Keras是Python中一个的强大而易用的库,主要用于深度学习. 在设计和配置你的深度学习模型时,需要做很多决策.大多数决定必须通过反复试错的方法来解决,并在真实的数据上进行评估. 因此,有一个可靠 ...
- R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型、并评估模型在测试集和训练集上的分类效果(accuray、F1、偏差Deviance):Bagging算法与随机森林对比
R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型.并评估模型在测试集和训练集上的分类效果(accuray.F1.偏差Deviance):Bagging算法与随机森林对比 ...
- DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程 目录 输出结果 设计思路 核心代码 更多输出 相关文章: ...
- 模型评估与模型选择(训练误差和测试误差+过拟合)| 15mins 入门 | 《统计学习方法》学习笔记(四)
模型评估与模型选择 当损失函数给定时,基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准. 训练误差的大小,对判定给定的问 ...
- 模型训练评估——交叉验证法的介绍
与留出法相似,将数据集D划分为k个子集同样存在多种划分方式. 为减小因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的有 ...
- PTMs:QLoRA技巧之源码解读(qlora.py文件)—解析命令与加载参数→数据预处理→模型训练+评估+推理
PTMs:QLoRA技巧之源码解读(qlora.py文件)-解析命令与加载参数→数据预处理→模型训练+评估+推理 目录 QLoRA技巧之源码解读(qlora.py文件)-解析命令与加载参数→数据预处理 ...
- Keras的Model模型使用
本主题主要阐述下Keras框架中的模型Model的使用,主要包含的内容: 1.模型的两种使用方式: 2.经典模型的实现(定制模型): 3.模型的定制训练: 一. 模型使用的两种方式 Ker ...
- Keras Sequential顺序模型
Keras Sequential顺序模型 keras是基于tensorflow封装的的高级API,Keras的优点是可以快速的开发实验,它能够以TensorFlow, CNTK, 或者 Theano ...
最新文章
- K8s简单yaml文件运行例子deployment
- 干货!链家二手房数据抓取及内容解析要点
- getComputedStyle currentStyle 获取当前元素所有最终使用的CSS属性值
- name optimize is not defined 怎么解决_Web前端:怎么在JavaScript中比较对象?
- spring data jpa 分页查询
- Tair持久存储系列技术解读
- 移动推送消息送达常见问题与解决办法
- kido机器人没反应_机器人不能钩的三个英雄,章鱼妈上榜,钩中图四我方直接团灭!...
- ddd架构 无法重构_DDD有什么用?
- WinForm 中自定义文件与自己的应用程序相关联
- h5商城模板_“公众号+小程序”才是做微信商城的正确方式
- jquery各历史版本下载地址
- CF321E Ciel and Gondolas BZOJ 5311 贞鱼
- paip.索引优化---sql distict—order by 法
- Could not find artfact com.oracle:ojdbc7:jar:12.1.0.2.0 in nexus-aliyun
- 好看的css按钮样式收集
- 哇嘎显示等待无服务器,vagaa搜索不到资源怎么回事?vagaa哇嘎搜索没反应的解决方法...
- matlab图片处理基本知识,Matlab图像处理基础知识
- Chartboost ane sdk 使用教程
- stlink utility
热门文章
- *args和**kargs
- mysql gtid坑_数据库mysqldump的坑
- sikuli python java_从命令行运行sikulix 1.1.4 python脚本
- oracle怎么截取long类型,Oracle 数据库中 Long 类型字段的读取
- python程序运行键_python实现按任意键继续执行程序
- linux tcp 断网重连,LIS接口与串口服务器的KeepAlive的重连机制
- mcrotime php_php时间函数time、date和microtime的区别 | 木凡博客
- Python迭代列表
- C#中xml序列化域反序列化
- 开课吧Java面试题:虚引用与软引用和弱引用的区别