翻译 | Keras : Deep Learning library for Tensorflow and Theano

2022-05-10 11:26:46 浏览数 (1)

看到Kears时,发现代码好简洁,在github上学习了它的帮助文档,很有用处,便翻译过来,留用。翻译不好勿喷。

哈哈

Keras 是一个用python写的,能够在Tensorflow或Theano上运行的神经网络库。它被开发用于集中于稳定快速的实验。从idea到结果的关键是做更好的研究,使得更少可能的拖延。

如果你需要深度学习库,使用Keras:

  • 可以很容易地和快速原型(通过全模块化,简约,和可扩展性)。
  • 支持卷积神经网络和递归神经网络,也支持两者的结合形式。
  • 支持任意的连接方案(包括多输入、多输出训练)
  • 无缝的运行在CPU和GPU上

阅读Keras的文档

Keras 兼容python2.7-3.5

指导思想:

  • 模块化。模型被理解为一个独立的,完全可配置的模块的序列或图形,可以被连接在一起,尽可能少的限制。特别是,神经层,成本函数,算法,初始化方案,激活函数,正则化方法,可以结合起来,创造新的模型,所有的独立模块。
  • 极简主义。每个模块应保持简短和简单。每一段代码在第一次阅读时应该是透明的。没有黑魔法:它伤害了迭代速度和创新能力。
  • 易扩展性。新模块是简单的添加(新的类和功能),现有模块提供了丰富的例子。能够轻松地创建新的模块允许总的表现力,使Keras适合高级研究。
  • 使用Python。没有单独的配置文件在声明格式。模型被描述在Python代码,这是一个紧凑,容易调试,方便和允许扩展。

开始:30秒学习Keras

Keras的核心数据结构是model,一种方式去组织神经层。主要类型的模型是Sequential模型,一个层的线性叠加。对于更复杂的结构,应使用keras功能API。

这里是Sequential模型:

代码语言:javascript复制
from keras.models import Sequential
model = Sequential()

叠加层是使用.add()

代码语言:javascript复制
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()来配置它的学习过程:

代码语言:javascript复制
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

如果需要,可以进一步配置优化器。Keras的一个核心原则是使事情简单合理,允许用户完全控制同时他们需要(最终控制源代码的易扩展性)。

代码语言:javascript复制
from keras.optimizers import SGD
model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))

你现在可以批量迭代你的训练数据:

代码语言:javascript复制
model.fit(X_train, Y_train, nb_epoch=5, batch_size=32)

或者,你可以手动批量向您的模型给数据:

代码语言:javascript复制
model.train_on_batch(X_batch, Y_batch)

评估你的模型能力:

代码语言:javascript复制
loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)

或者生成新的预测数据:

代码语言:javascript复制
classes = model.predict_classes(X_test, batch_size=32)
proba = model.predict_proba(X_test, batch_size=32)

建立一个问答系统,图像分类模型,神经图灵机,一Word2vec嵌入或任何其他模型一样快。深度学习背后的想法很简单,那么为什么他们的实施是痛苦的呢?

在example文件夹仓库中,你会发现更先进的模型:答疑与记忆网络,叠LSTMs文本的生成,等等。

0 人点赞