使用卷積神經網絡(CNN)在Keras中非常簡單。以下是一個簡單的例子,演示如何構建一個簡單的CNN模型:
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# 創建一個Sequential模型
model = Sequential()
# 添加第一個卷積層
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
# 添加最大池化層
model.add(MaxPooling2D(pool_size=(2, 2)))
# 添加第二個卷積層
model.add(Conv2D(64, (3, 3), activation='relu'))
# 添加最大池化層
model.add(MaxPooling2D(pool_size=(2, 2)))
# 添加Flatten層
model.add(Flatten())
# 添加全連接層
model.add(Dense(128, activation='relu'))
# 添加輸出層
model.add(Dense(10, activation='softmax'))
# 編譯模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 打印模型結構
model.summary()
在這個例子中,我們創建了一個簡單的CNN模型,包含兩個卷積層和兩個最大池化層,然后是一個Flatten層和兩個全連接層。最后,我們編譯了模型并打印了模型的結構。
你可以根據自己的需求和數據集調整模型的結構和參數,以獲得更好的性能。訓練和測試模型的方法與在Keras中的其他模型一樣,你可以使用fit()方法進行訓練和evaluate()方法進行測試。