Keras 深度學習框架中文文檔

Keras深度學習框架中文文檔

快速開始Keras

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

from keras.models import Sequential

model = Sequential()

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

from keras.layers.core 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的一個核心理念就是使得事情在簡單的同時,保證用戶對他們但願作的事情有足夠的控制力度(最絕對的控制來自於源代碼的可擴展性)數據結構

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)

  固然,咱們也能夠手動將一批批的數據送入網絡中訓練,這時候須要使用:函數

model.train_on_batch(X_batch, Y_batch)

  隨後,咱們能夠使用一行代碼對咱們的模型進行評估,看看模型的指標是否知足咱們的要求:學習

loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)

  或者,咱們能夠使用咱們的模型,對新的數據進行預測:優化

classes = model.predict_classes(X_test, batch_size=32)
proba = model.predict_proba(X_test, batch_size=32)
相關文章
相關標籤/搜索