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 的文本生成等示例文件夹