keras(一)
参考:
keras序贯模型:https://keras-cn.readthedocs.io/en/latest/getting_started/sequential_model/
函数式模型:https://keras-cn.readthedocs.io/en/latest/getting_started/functional_API/
回调函数:https://keras-cn.readthedocs.io/en/latest/other/callbacks/
神经网络框架:https://yq.aliyun.com/articles/567420
部分学习代码放在github:
一、序贯模型(sequential model)
序:顺序,贯:连贯,连续地走下去的模型流程就是序贯模型,另外也应该包括一个输入和一个输出这样的特点
我猜的
原文讲的很清楚了
创建模型
model = Sequential()
model.add(Dense(128, activtion='relu', input_shape=(4,4)))编译模型
model.compile(loss='categorical_crossentropy', optimizer='rmsprop', metrics=['accuracy'])训练模型
model.fit(train_x, train_y, epochs=20, batch_size=128)二、函数式模型
Keras函数式模型接口是用户定义多输出模型、非循环有向模型或具有共享层的模型等复杂模型的途径。一句话,只要你的模型不是类似VGG一样一条路走到黑的模型,或者你的模型需要多于一个的输出,那么你总应该选择函数式模型。函数式模型是最广泛的一类模型,序贯模型(Sequential)只是它的一种特殊情况。
与之前的不同时,这里的网络层都会接受一个张量,然后返回一个张量,而定义模型的时候只是使用Model接受了输入和输出,这里体现的特点是
层对象接受张量为参数,返回一个张量。
输入是张量,输出也是张量的一个框架就是一个模型,通过
Model定义。这样的模型可以被像Keras的
Sequential一样被训练
所有的模型都可调用
利用函数式模型的接口,我们可以很容易的重用已经训练好的模型:你可以把模型当作一个层一样,通过提供一个tensor来调用它。注意当你调用一个模型时,你不仅仅重用了它的结构,也重用了它的权重。
多输入和多输出模型
共享层
三、callback
callback机制
回调函数是一组在训练的特定阶段被调用的函数集,你可以使用回调函数来观察训练过程中网络内部的状态和统计信息。通过传递回调函数列表到模型的
.fit()中,即可在给定的训练阶段调用该函数集中的函数。
回调函数在使用中一般会传入一个列表,列表中是使用keras.callbacks中调用的类生成的实例对象
Last updated
Was this helpful?