看了很多前輩對深度學習框架的介紹,雖然很多新人會用tensorflow,但是keras**更加簡單精簡,更受深度學習初學者的青睞。
keras是乙個高層神經網路api,keras由純python編寫而成並基tensorflow、theano以及cntk後端。
keras在以下場景會大放異彩:
網路層、損失函式、優化器、初始化策略、啟用函式、正則化方法都是獨立的模組,利用keras可以使用這些獨立的模組來構建自己的模型。
keras的核心資料結構是「模型」,模型是一種組織網路層的方式。keras中主要的模型是sequential模型,sequential是一系列網路層按順序構成的棧。也可以檢視函式式模型來學習建立更複雜的模型
sequential模型如下
from keras.models import sequential
model = sequential()
將一些網路層通過.add()
堆疊起來,就構成了乙個模型:
from keras.layers import dense, activation
model.add(dense(units=64, input_dim=100))
model.add(activation("relu"))
model.add(dense(units=10))
model.add(activation("softmax"))
完成模型的搭建後,需要使用.compile()
方法來編譯模型:
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
編譯模型時必須指明損失函式和優化器,如果需要的話,也可以自己定製損失函式。keras的乙個核心理念就是簡明易用,同時保證使用者對keras的絕對控制力度,使用者可以根據自己的需要定製自己的模型、網路層,甚至修改源**。
from keras.optimizers import sgd
model.compile(loss='categorical_crossentropy', optimizer=sgd(lr=0.01, momentum=0.9, nesterov=true))
完成模型編譯後,在訓練資料上按batch進行一定次數的迭代來訓練網路
model.fit(x_train, y_train, epochs=5, batch_size=32)
當然,也可以手動將乙個個batch的資料送入網路中訓練,這時候需要使用:
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)
搭建乙個問答系統、影象分類模型,或神經圖靈機、word2vec詞嵌入器就是這麼快。
為了更深入的了解keras,可以檢視一下下面的兩個tutorial
新手教程:
keras使用了下面的依賴包,三種後端必須至少選擇一種,我們建議選擇tensorflow。
當使用tensorflow為後端時:
當使用theano作為後端時:
當使用cntk作為後端時:
「後端」翻譯自backend,指的是keras依賴於完成底層的張量運算的軟體包。
從原始碼安裝keras時,首先git clone keras的**:
git clone
接著cd
到keras的資料夾中,並執行下面的安裝命令:
sudo python setup.py install
你也可以使用pypi來安裝keras
sudo pip install keras
參考文章:
Keras深度學習框架配置
專案 是在windows 7上執行的,主要用到的matlab r2013a和python,其中matlab用於patch的分割和預處理,卷積神經網路搭建用到了根植於python和theano的深度學習框架keras。keras是基於theano的乙個深度學習框架,它的設計參考了torch,用pyth...
深度學習的框架之keras
老早之前寫過一些深度學習框架的常識。但是太不具體了。這次出乙個系列的,今天就單獨寫keras的相關知識。張量概念介紹 張量概念是向量概念和矩陣概念的推廣,標量是零階張量,向量是一階張量,矩陣 方陣 是二階張量,而三階張量則好比立體矩陣,兩個張量的點積就是將a張量的最後乙個軸中的所有元素,與b張量中倒...
Ubuntu 搭建深度學習框架 keras
深度學習框架keras是基於tensorflow的所以,安裝keras需要安裝tensorflow 2.本教程開始 ubuntu安裝的教程就略過了,直接從深度學習所需的環境的搭建開始說起 需要說明的是,之所以要寫個教程是因為本人安裝了很多遍都是失敗的,原始是在該教程編寫的日期 18 06 01 的時...