Keras:Python深度学习库简介

Keras:Python深度学习库简介

Keras:Python深度学习库简介_第1张图片
Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行。 它的开发重点是实现快速开发。 能够以最小的时间成本从理论到结果,这也进行快速研究验证的关键。

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

  1. 允许简单快速的原型设计(通过用户友好接口,模块化和可扩展性)。
  2. 支持卷积网络和循环网络,以及两者的组合。
  3. 在CPU和GPU上无缝运行。

30秒入门Keras

Keras的核心数据结构是一种模型,一种组织层的方式。 最简单的模型是Sequential模型,一个线性的层叠。 对于更复杂的体系结构,您应该使用Keras功能API,它允许构建任意图层图。
这是Sequential模型:

from keras.models import Sequential

model = Sequential()

堆叠图层用.add():

from keras.layers import Dense

model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

一旦您的模型完成,请使用.compile()配置其学习过程:

model.compile(loss='categorical_crossentropy',
              optimizer='sgd',
              metrics=['accuracy'])

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

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

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

# x_train and y_train are Numpy arrays --just like in the Scikit-Learn API.
model.fit(x_train, y_train, epochs=5, batch_size=32)

或者,您可以手动将批次提供给模型:

model.train_on_batch(x_batch, y_batch)

在验证批次中评估:

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)

或者生成对新数据的预测:

classes = model.predict(x_test, batch_size=128)

构建问答系统,图像分类模型,神经图灵机或任何其他模型同样快。深度学习背后的想法很简单,那么为什么他们的开发会很痛苦呢?

Keras优先考虑开发人员的体验

  1. Keras是专为人类而非机器设计的API。 Keras遵循降低认知负荷的最佳实践。 这使得Keras易学易用。
  2. 作为Keras用户,您可以更高效地工作,让您比竞争对手更快地尝试更多创意 - 这反过来又可以帮助您赢得机器学习竞赛。 作为Keras用户,您可以更高效地工作,让您比竞争对手更快地尝试更多创意 - 这反过来又可以帮助您赢得机器学习竞赛。
  3. 这种易用性不会以降低灵活性为代价.
    Keras:Python深度学习库简介_第2张图片

你可能感兴趣的:(AI,ML,Python,Machine,Learning,and,Predictive,AI,ML,Keras,TensorFlow)