1、Keras顺序模型

时间:2024-03-24 21:01:00

0、总结

  • 顺序模型建立过程如图所示:
  • 1、Keras顺序模型

1、Sequentual 顺序模型

  • 顺序模型是多个网络层的线形添加,建立顺序模型的方式有两种:
    • 1、将网络层的实例以列表的形式传递给Sequential构造器,用来创造一个顺序模型。
    • 2、先建立一个模型,然后使用add()方法将各个网络层依次线形添加进入模型。
'''方法1'''
from keras import Sequential
from keras.layers import Dense,Activation
model = Sequential([
					Dense(32, input_shape=(784,),
					Activation('relu'),
					Dense(10),
					Activation('sofrmax'),
					])
'''方法2'''
model = Sequential()
model.add(Dense(32,input_shape=(784,)),
model.add(Activation("relu")),
model.add(Dense(10)),
model.add(Activation("softmax"))
)

2、指定输入数据尺寸

  • 模型需要知道输入数据的尺寸,模型中的第一层需要指定大小,后面的不需要指定,模型会自动的计算出。
    • 1、通过 input_shape传递给第一层,它是一个元组
    • 2、某些2D层,可以通过指定 input_dim 指定输入尺寸,某些3D可以指定input_diminput_length参数。
    • 3、使用参数batch_size指定batch的大小。
'''下面的两端代码等价'''
model = Sequential()
model.add(Dense(32, input_shape=(784,)))
#########################
model=Sequential()
model.add(Dense(32, input_dim=784))

3、模型编译

  • 在模型训练之前需要对模型进行配置,主要有下面三项:
    • 1、优化器optimizer:可以是现有优化器的字符串名(如:rmsprop,adagrad),也可以是Optimizer类的实例
    • 2、损失函数loss:模型试图最小化的目标函数
    • 3、评估标准metrics:既可以是已有标准的字符串标志,也可以自己定义
'''已有'''
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics='accuracy')
'''自定义评估标准'''
import keras.backend ad K
def mean_pred(y_true, y_pred):
	return K.mean(y_pred)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics='accuracy',mean_pred)

4、模型训练

  • keras的输入数据是Numpy 数组,可以使用fit() 函数进行训练
model.fit(x_train, y_train, epochs=10, batch_size=32)

5、模型预测和评估

  • 可以使用evaluate()函数进行评估
  • 使用predict()函数进行预测某个数据或者某些数据的结果
model.evaluate(x_test, y_test, batch_size=32)#评估
model.predict(x_test,batch_size=32)

相关文章