如何設定一個N層CNN的Layer,CNN初始化
- 前言
- 干貨
- 代碼
- 解釋
- 結語
前言
目前人工智能已經融入到我們的生活,大數據模型也是層出不窮。那我們就學習一些簡單的模型設置。
干貨
代碼
# This is the original CNN layer setup,
def build_cnn(input_layer):cnn = Conv1D(9,9,padding="same")(input_layer)cnn = BatchNormalization()(cnn)cnn = Dropout(rate = 0.05)(cnn)cnn = Conv1D(18,7,padding="same")(cnn)cnn = BatchNormalization()(cnn)cnn = Dropout(rate = 0.07)(cnn)cnn = Conv1D(36,5,padding="same")(cnn)cnn = BatchNormalization()(cnn)cnn = Dropout(rate = 0.1)(cnn)cnn = Conv1D(72,3,padding="same")(cnn)cnn = BatchNormalization()(cnn)cnn = Dropout(rate = 0.1)(cnn)return cnn
解釋
- 這里面
input_layer
需要自己去設計,如何切數據請根據自己的情況來設置; Conv1D(x,y)
函數建議x參數成倍數增長,y參數遞減;- 建議把每層的數據進行標準化
BatchNormalization()
; - 優于我們創建了這么多layer數據,建議隨機剔除一些來避免過擬合:
- 當x參數越來越大,建議把
Dropout(rate = 【rate】)
逐漸調大,根據自己的模型來調整,個人不建議調太大;
- 當x參數越來越大,建議把
- 還想加啥函數請自行調整,DL這玩意兒每個人有每個人的理解和需求;
- 需要導入什么庫請自己搜吧,我也懶得列出來了。XD
結語
希望大家有所收獲,有不明白的歡迎大家留言。