Keras 入門 30 秒

Keras 的核心資料結構是一種模型,一種組織層的方法。模型的主要型別是 順序 模型,線性堆疊層。對於更復雜的體系結構,你應該使用 Keras 功能 API

這是 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 的核心原則是使事情變得相當簡單,同時允許使用者在需要時完全控制(最終控制是原始碼的易擴充套件性)。

from keras.optimizers import SGD
model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))

你現在可以批量迭代你的訓練資料:

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)

構建問答系統,影象分類模型,神經圖靈機,word2vec 嵌入器或任何其他模型同樣快。深度學習背後的想法很簡單,那為什麼他們的實施會很痛苦呢?

你將找到更多高階模型:記憶體網路問答,帶堆疊 LSTM 的文字生成等示例資料夾