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 的文字生成等示例資料夾 。