Keras中文文档总结
一、主頁
上手Keras
◆ Keras 的核心數據結構是?model,一種組織網絡層的方式。最簡單的模型是 Sequential 順序模型,它由多個網絡層線性堆疊。對于更復雜的結構,你應該使用 Keras 函數式 API,它允許構建任意的神經網絡圖。
◆?Sequential 模型如下所示:
from keras.medels import Sequential model = Sequential()◆ 可以使用.add()來堆疊模型:
from keras.layers import Dense model.add(Dense(units=64,activation='relu',input_dim=100)) model.add(Dense(units=10,activation='softmax'))◆ 完成模型構建后,使用.compile()來配置學習過程:
# 選擇交叉熵損失函數作為損失函數,隨機梯度下降作為優化方法,準確率作為評價指標 model.compile(loss='categorical_crossentropy',optimizer='sgd',metrics='accuracy')◆ 現在可以批量地在訓練數據上進行迭代了:
# X_train和Y_train是Numpy數組 model.fit(X_train,Y_train,epochs=5,batch_size=32)◆ 或者可以手動將批次數據提供給模型:
model.train_on_batch(X_batch,Y_batch)◆ 然后可以對模型性能進行評估:
loss_and_metrics = model.evaluate(X_test,Y_test,batch_size=128)◆ 或者對新的數據進行預測:
classes = model.predict(X_test,batch_size=128)二、快速開始
1、Sequential順序模型
from keras.models import Sequential from keras.layers import Dense,Activationmodel = Sequential() model.add(Dense(32,input_dim=784)) model.add(Activation('relu'))(1)指定輸入數據的尺寸
模型第一層(只有第一層需要)需要接收關于其輸入尺寸的信息:
◆?傳遞 input_shape 參數給第一層,它表示張量的形狀,例如一個一階張量[1,2,3]的shape為(3,),二階張量[[1,2,3],[4,5,6]]的shape為(2,3)。
◆ 例如 Dense 的2D層,可以通過參數 input_dim 指定輸入尺寸,而3D層使用 input_dim 和 input_length 參數。
input_length 表示輸入數據的長度,input_dim 表示數據的維度
input_dim = input_shape(input_dim,)
input_dim,input_length = input_shape(input_length,input_dim)
◆ 如果需要為輸入指定一個固定的 batch 大小,可以傳遞一個 batch_size 參數。例如,同時將 batch_size=32 和 input_shape=(6,8) 傳遞給一層,則每一批輸入的尺寸為(32,6,8)。
# 由上述可得 model.add(Dense(32,input_shape(784,))) # 等價于 model.add(Dense(32,input_dim=784))(2)模型編譯
模型訓練之前,需要配置學習過程,通過 .compile() 方法完成,接收三個參數:
◆ 優化器 optimizer。可以是現有優化器的字符串標識符,如 rmsprop 或 adagrad?,也可以是Optimizer 類的實例。
◆ 損失函數 loss。可以是現有損失函數的字符串標識符,如 categorical_crossentropy 或 mse,也可以是一個目標函數。
◆ 評估標準 metrics。對于分類問題,metrics = [‘accuracy’]
(3)模型訓練
通常會使用 .fit() 函數
未完待續。。。
總結
以上是生活随笔為你收集整理的Keras中文文档总结的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Linux进程全解12——lIPC机制之
 - 下一篇: uboot移植——使用三星官方的uboo