[轉錄]Keras:基於Theano和TensorFlow的深度學習庫

來源:http://www.dlworld.cn/ZiLiaoXiaZai/3497.html

Keras是一個高層神經網絡庫,Keras由純Python編寫而成並基Tensorflow或Theano

簡易和快速的原型設計(keras具有高度模塊化,極簡,和可擴充特性)
支持CNN和RNN,或二者的結合
支持任意的鏈接方案(包括多輸入和多輸出訓練)
無縫CPU和GPU切換

Keras的核心數據結構是“模型”,模型是一種組織網絡層的方式。Keras中主要的模型是Sequential模型,Sequential是一系列網絡層按順序構成的棧

from keras.models import Sequential

model = Sequential()
將一些網絡層通過.add()堆疊起來,就構成了一個模型:

from keras.layers import Dense, Activation

model.add(Dense(output_dim=64, input_dim=100))
model.add(Activation(“relu”))
model.add(Dense(output_dim=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, nb_epoch=5, batch_size=32)

本篇發表於 電腦資訊。將永久鏈結加入書籤。