keras开始使用keras


备注

指导原则

  • 模块化

模型被理解为独立的,完全可配置的模块的序列或图形,可以尽可能少地限制插入在一起。特别是,神经层,成本函数,优化器,初始化方案,激活函数,正则化方案都是独立的模块,您可以将它们组合在一起以创建新模型。

  • 极简主义

每个模块都应简短。每一段代码在首次阅读时都应该是透明的。没有黑魔法:它会伤害迭代速度和创新能力。

  • 易扩展性

新模块很容易添加(作为新类和函数),现有模块提供了充足的示例。为了能够轻松创建新模块,可以实现完全表现力,使Keras适合高级研究。

  • 使用Python

没有声明格式的单独模型配置文件。模型在Python代码中描述,它紧凑,易于调试,并且易于扩展。

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

安装和设置

Keras是一个高级神经网络库,用Python编写,能够在TensorFlow或Theano之上运行。它的开发重点是实现快速实验。能够以最小的延迟从想法到结果是进行良好研究的关键。如果您需要深度学习库,请使用Keras:

  • 允许简单快速的原型设计(通过完全模块化,极简主义和可扩展性)。
  • 支持卷积网络和循环网络,以及两者的组合。
  • 支持任意连接方案(包括多输入和多输出训练)。
  • 在CPU和GPU上无缝运行。

安装

Keras使用以下依赖项:

  • numpy,scipy
  • pyyaml
  • HDF5和h5py(可选,如果使用模型保存/加载功能则需要)
  • 可选但建议使用CNN:cuDNN
  • scikit-image(可选,如果使用keras内置函数进行预处理和扩充图像数据则需要)

Keras是一个高级库,在其他低级库上提供方便的机器学习API,用于张量处理和操作,称为后端 。在这个时候,Keras可以在三个可用后端中的任何一个上面使用: TensorFlowTheanoCNTK

Theano如果您在使用PIP安装Keras会自动安装。如果您想手动安装Theano ,请参阅Theano安装说明。

TensorFlow是推荐选项,默认情况下, Keras使用TensorFlow后端(如果可用)。要安装TensorFlow ,最简单的方法就是这样做

$ pip install tensorflow
 

如果要手动安装,请参阅TensorFlow安装说明。

要安装Keras ,请cd到Keras文件夹并运行install命令:

$ python setup.py install
 

您也可以从PyPI安装Keras:

$ pip install keras
 

组态

如果您至少运行过一次Keras,您将在以下位置找到Keras配置文件:

~/.keras/keras.json
 

如果它不存在,您可以创建它。默认配置文件如下所示:

{
    "image_dim_ordering": "tf",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "tensorflow"
}  
 

从TensorFlow切换到Theano

默认情况下,Keras将使用TensorFlow作为其张量操作库。如果您想使用其他后端,只需将字段后端更改为"theano""tensorflow""tensorflow" 将在您下次运行任何Keras代码时使用新配置。