Keras 深度學習框架介紹----一起來慢慢走進deep learning
Introduce
Keras是一個高階API,用Python編寫,能夠在TensorFlow、Theano或CNTK上執行。Keras提供了一個簡單和模組化的API來建立和訓練神經網路,隱藏了大部分複雜的細節。How to install keras?
Keras 安裝的話需要安裝Theano和TensorFlow作為Keras的背景庫
這裡安裝流程如下:pip install Theano
#If using only CPU
pip install tensorflow
#If using GPU
pip install tensorflow-gpu
pip install keras
筆者的開發環境是
表示安裝成功
Attention:筆者測試了一個二元分類程式,執行的時候,各種報錯,然後網上查詢資料。得知keras 預設backend是tensorflow。但是keras 只對theano 友好,所以只需要安裝theano就行,然後讓theano作為keras的backend.
原話來自Jason Brownlee, Ph.D 。見下圖:
<1>配置theano 作為backend 的方法
C盤---使用者--.keras 資料夾下--keras.json
將”backend”:”tensorflow” 改為圖上所示。
<2> 進入安裝python目錄下的site-packages檔案下(這個不再多說,寫py程式的人都知道這個資料夾儲存著什麼)----keras資料夾-----backend資料夾----開啟__init__.py指令碼
將_BACKEND=”tensorflow”改為上圖所示,其預設為tensorflow。
Keras workflow第1步:load data
第2步:建立模型
方式1:from keras.modelsimport Sequential
from keras.layersimport Dense, Activation
model =Sequential([Dense(10, input_shape=(nFeatures,)),Activation('linear') ])
方式2:from keras.modelsimport Sequential
from keras.layersimport Dense, Activation
model = Sequential()
model.add(Dense(10, input_shape=(nFeatures,)))
model.add(Activation('linear'))
方式1等價與方式2,注意的是在第一層要指定輸入的特徵的大小,如樣本m*n,輸入n
第3步:配置引數
model.compile(optimizer='rmsprop',loss='mse', metrics=['mse', 'mae'])
引數含義分別是:
1、指定一個優化器,來更新權重
2、指定損失函式
3、指定度量標準
Foroptimizer
- Stochastic Gradient Descent ( SGD ),
- Adam, Adam: A method for Stochastic Gradient Descent
- RMSprop,
- AdaGrad,
- AdaDelta, etc.
RMSprop 大多數問題中最好的優化器
至於損失函式要根據你的目的不同而設定
- binary-cross-entropy for a binary classification problem―――二元分類
- categorical-cross-entropy for a multi-class classification problem――多元分類
- mean-squared-error for a regression problem and so on.――均方根誤差迴歸之類
第4步:訓練模型
model.fit(trainFeatures,trainLabels, batch_size=4, epochs = 100)
第5步 模型評估
scores= model.evaluate(X, Y)
print("\n%s:%.2f%%" % (model.metrics_names[1], scores[1]*100))