1. 程式人生 > >Keras 深度學習框架介紹----一起來慢慢走進deep learning

Keras 深度學習框架介紹----一起來慢慢走進deep learning

Introduce

Keras是一個高階API,用Python編寫,能夠在TensorFlowTheanoCNTK上執行。Keras提供了一個簡單和模組化的API來建立和訓練神經網路,隱藏了大部分複雜的細節。

How to install keras?

Keras 安裝的話需要安裝TheanoTensorFlow作為Keras的背景庫

這裡安裝流程如下:
pip install Theano
#If using only CPU
pip install tensorflow
#If using GPU
pip install tensorflow-gpu
pip install keras

筆者的開發環境是

spyder,所以在命令列輸入import  keras 。顯示如下的話:

表示安裝成功

Attention筆者測試了一個二元分類程式,執行的時候,各種報錯,然後網上查詢資料。得知keras 預設backendtensorflow但是keras 只對theano 友好,所以只需要安裝theano就行,然後讓theano作為kerasbackend.

原話來自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

1load 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))