Keras創建一個模型的步驟如下:
(一)模型定義。定義模型的結構
(二)模型編譯。指定損失函數和優化器,並調用模型的compile() 函數,完成模型編譯
(三)訓練模型。通過調用模型的fit() 函數來訓練模型
(四)模型預測。調用模型的evaluate() 或者predicr() 等函數對新數據進行預測
定義模型的三種方法:
1.
# 方式一: 使用 .add() 方法將各層添加到模型中
# 導入相關包
from keras.models import Sequential
from keras.layers import Dense, Activation
# 選擇模型,選擇序貫模型(Sequential())
model = Sequential()
# 構建網絡層
# 添加全連接層,輸入784維,輸出空間維度32
model.add(Dense(32, input_shape=(784,)))
# 添加激活層,激活函數是 relu
model.add(Activation('relu'))
# 打印模型概況
model.summary()
2.
# 方式二:網絡層實例的列表構建序貫模型
# 導入相關的包
from keras.models import Sequential
from keras.layers import Dense, Activation
# 選擇模型,選擇序貫模型(Sequential())
# 通過將網絡層實例的列表傳遞給 Sequential 的構造器,來創建一個 Sequential 模型
model = Sequential([
Dense(32, input_shape=(784,)),
Activation('relu')
])
# 打印模型概況
model.summary()
3.
# 方式三:函數式模型
# 導入相關的包
from keras.layers import Input, Dense,Activation
from keras.models import Model
# 輸入層,返回一個張量 tensor
inputs = Input(shape=(784,))
# 全連接層,返回一個張量
output_1 = Dense(32)(inputs)
# 激活函數層
predictions= Activation(activation='relu')(output_1)
# 創建一個模型,包含輸入層、全連接層和激活層
model = Model(inputs=inputs, outputs=predictions)
# 打印模型概況
model.summary()