Keras基础指南

本文是Keras基础指南,介绍了Sequential模型的使用,包括模型创建、编译、回调函数设置和训练过程。同时,文章也提到了Model模型,它支持更复杂的网络结构,如共享层和多层输出,需要指定输入和输出。
摘要由CSDN通过智能技术生成

K e r a s Keras Keras主要有2中模型, S e q u e n t i a l Sequential Sequential模型和 M o d e l Model Model模型。

S e q u e n t i a l Sequential Sequential模型:

模型

from keras.models import Sequential
from keras.layers import Flatten,Dense,Embedding

model = Sequential()
model.add(Embedding(max_words,embedding_dim,input_length=maxlen))
model.add(Flatten())
model.add(Dense(16,activation='relu'))
model.add(Dense(1,activation='sigmoid'))
model.summary()

先令 m o d e l = S e q u e n t i a l ( ) model=Sequential() model=Sequential()
然后往后面不断的添加层就可以了,非常方便。
要注意第一层需要有一个输入的维度大小的相关信息,其他层不需要这类信息。
最后 s u m m a r y ( ) summary() summary()一下,看看模型长什么样子

编译

编译的时候可以指定优化器,损失函数,监控指标等等。


model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=['acc'])

回调函数

可以设置保存点,提前终止等等,写好以后命名为 c a l l b a c k _ l i s t callback\_list callback_list

from keras.callbacks import EarlyStopping
from keras.callbacks import ModelCheckpoint
model_name='glove_model_1.h5'
callback_list=[
    #EarlyStopping(
    #    monitor='val_acc',
    #    patience=5
    #),
    ModelCheckpoint(
        filepath=model_name,
        monitor='val_acc',
        save_best_only=True
    )
]

训练

设置训练集, e p o c h epoch epoch大小, b a t c h batch batch大小,验证集,以及回调函数等等。

history = model.fit(x_train,y_train,epochs=30,batch_size=32,validation_data=(x_val,y_val),callbacks=callback_list)

m o d e l model model模型

m o d e l model model模型比 s e q u e n t i a l sequential sequential模型更为复杂一点,能够实现共享层,多层输出等模型。

from keras.models import Model
from keras.layers import Input, Dense

a = Input(shape=(32,))
b = Dense(32)(a)
model = Model(inputs=a, outputs=b)

剩下的编译,调回,训练部分和 s e q u e n t i a l sequential sequential模型一样。
区别在于:

  1. m o d e l model model模型需要指定输入,输出。
  2. 层的输入需要作为变量写在层的后面。

这样, m o d e l model model模型就能实现更为复杂的神经网络结构

参考:keras中文文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值