keras中文版官方文档
發現一個比較好的介紹Keras的中文版的文檔,原文鏈接:
https://keras-cn.readthedocs.io/en/latest/getting_started/sequential_model/
以下內容是目前個人所看,詳細內容看原文鏈接。
keras是一個高層神經網絡API,由純Python編寫而成并基tensorflow、Theano以及CNTK后端。
快速開始序慣(Sequential)模型:
序貫模型是多個網絡層的線性堆疊,也就是“一條路走到黑”。
?
指定輸入數據的shape:
- 傳遞一個input_shape的關鍵字參數給第一層,input_shape是一個tuple類型的數據,其中也可以填入None,如果填入None則表示此位置可能是任何正整數。數據的batch大小不應包含在其中。
- 有些2D層,如Dense,支持通過指定其輸入維度input_dim來隱含的指定輸入數據shape,是一個Int類型的數據。一些3D的時域層支持通過參數input_dim和input_length來指定輸入shape。
- 如果你需要為輸入指定一個固定大小的batch_size(常用于stateful RNN網絡),可以傳遞batch_size參數到一個層中,例如你想指定輸入張量的batch大小是32,數據shape是(6,8),則你需要傳遞batch_size=32和input_shape=(6,8)。
編譯:
compile接受三個參數:優化器,損失函數,指標列表metrics
- 優化器optimizer:該參數可指定為已預定義的優化器名,如rmsprop、adagrad,或一個Optimizer類的對象,詳情見optimizers
- 損失函數loss:該參數為模型試圖最小化的目標函數,它可為預定義的損失函數名,如categorical_crossentropy、mse,也可以為一個損失函數。詳情見losses
- 指標列表metrics:對分類問題,我們一般將該列表設置為metrics=['accuracy']。指標可以是一個預定義指標的名字,也可以是一個用戶定制的函數.指標函數應該返回單個張量,或一個完成metric_name - > metric_value映射的字典.請參考性能評估
訓練:訓練模型一般使用fit函數。
常用層:常用層對應于core模塊,core內部定義了一系列常用的網絡層,包括全連接層、激活層等。
Dense層(全連接層):
所實現的運算是output = activation(dot(input, kernel)+bias)。其中activation是逐元素計算的激活函數,kernel是本層的權值矩陣,bias為偏置向量,只有當use_bias=True才會添加。
如果本層的輸入數據的維度大于2,則會先被壓為與kernel相匹配的大小。
Dropout層:
Dropout將在訓練過程中每次更新參數時按一定概率(rate)隨機斷開輸入神經元,Dropout層用于防止過擬合。
Flatten層:
用來將輸入“壓平”,即把多維的輸入一維化,常用在從卷積層到全連接層的過渡。Flatten不影響和batch的大小。
reshape層
Permute層:當需要將RNN和CNN網絡連接的時候,可能會用到該層。
RepeatVector層
repeatvector層將輸入重復n次
總結
以上是生活随笔為你收集整理的keras中文版官方文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构体的一些形式理解
- 下一篇: 【Keras中文文档】Layer Con