Keras 序贯(sequential)模型简介

序贯模型是多个网络层的线性堆叠,也就是“一条路走到黑”。
可以通过向Sequential模型传递一个layer的list来构造该模型:

from keras .models import Sequential
from keras.layers import Dense,Activation
model = Sequential([Dense(32,units = 784),Activation('relu'),Dense(10),Activation('softmax'),])

也可以通过.add()方法一个个的将layer加入模型中:

model = Sequential()
model.add(Dense(32, input_shape=(784,)))
model.add(Activation('relu'))

指定输入数据的shape:
模型需要知道输入数据的shape,因此,Sequential的第一层需要接受一个关于输入数据shape的参数,后面的各个层则可以自动的推导出中间数据的shape,因此不需要为每个层都指定这个参数,有几种方法为第一层指定输入数据的shape:

  • 传递一个input_shape的关键字给第一层,inout_shape是一个tuple类型的数据,其中也可以填入None,如果填入None则表示此位置可能是任何正整数,数据的batch大小不应该包含其中。
  • 有些2D层。如Dense,支持通过指定其输入维度input_dim来隐含的指定输入数据shape。一些3D层的时域层支持通过参数input_dim和input_length来指定输入shape。
  • 如果你想要为输入指定一个固定大小的batch_size,可以传递batch_size参数到一个层中,例如输入张量的batch大小是32,数据shape是(6,8),则需要传递batch_size=32和input_shape=(6,8)。
    编译
    在训练模型之前,我们需要通过compile来对学习过程进行参数配置。compile接受三个参数:

  • 优化器optimizer:该参数可指定为已预定义的优化器名,如rmsprop、adagrad、或一个optimizer类的对象。

  • 损失函数loss: 该参数为模型试图最小化的目标函数,它可预定义的损失函数名,如categorical_crossentropy、mse、也可以为一个损失函数。
  • 指标列表metrics: 对分类问题,我们一般将该列表设置为metrics=[‘accuracy’]。指标可以是一个预定义指标的名字,也可以是一个用户定制的函数,指标函数应该返回单个张量,或完成metric_name->metric_value映射的字典。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值