看到Kears时,发现代码好简洁,在github上学习了它的帮助文档,很有用处,便翻译过来,留用。翻译不好勿喷。
哈哈
Keras 是一个用python写的,能够在Tensorflow或Theano上运行的神经网络库。它被开发用于集中于稳定快速的实验。从idea到结果的关键是做更好的研究,使得更少可能的拖延。
如果你需要深度学习库,使用Keras:
阅读Keras的文档
Keras 兼容python2.7-3.5
指导思想:
开始:30秒学习Keras
Keras的核心数据结构是model,一种方式去组织神经层。主要类型的模型是Sequential模型,一个层的线性叠加。对于更复杂的结构,应使用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嵌入或任何其他模型一样快。深度学习背后的想法很简单,那么为什么他们的实施是痛苦的呢?
在example文件夹仓库中,你会发现更先进的模型:答疑与记忆网络,叠LSTMs文本的生成,等等。