Python深度学习读书笔记-5.Keras 简介

Keras 重要特性
  • 相同的代码可以在 CPU 或 GPU 上无缝切换运行。
  • 具有用户友好的 API,便于快速开发深度学习模型的原型。
  • 内置支持卷积网络(用于计算机视觉)、循环网络(用于序列处理)以及二者的任意组合。
  • 支持任意网络架构:多输入或多输出模型、层共享、模型共享等。这也就是说, Keras能够构建任意深度学习模型,无论是生成式对抗网络还是神经图灵机
    Keras 有三个后端实现:  TensorFlow 后端、Theano 后端和微软认知工具包( CNTK, Microsoft cognitive toolkit)后端。未来 Keras 可能会扩 展到支持更多的深度学习引擎。 Python深度学习读书笔记-5.Keras 简介   典型的 Keras 工作流程 (1) 定义训练数据:输入张量和目标张量。 (2) 定义层组成的网络(或模型),将输入映射到目标。 (3) 配置学习过程:选择损失函数、优化器和需要监控的指标。 (4) 调用模型的 fit 方法在训练数据上进行迭代。   定义模型有两种方法: 一种是使用 Sequential 类(仅用于层的线性堆叠,这是目前最常见的网络架构),另一种是函数式 API( functional API,用于层组成的有向无环图,让你可以构建任意形式的架构)。   from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(32, activation='relu', input_shape=(784,))) model.add(layers.Dense(10, activation='softmax’))   下面是用函数式 API 定义的相同模型。 input_tensor = layers.Input(shape=(784,)) x = layers.Dense(32, activation='relu')(input_tensor) output_tensor = layers.Dense(10, activation='softmax')(x) model = models.Model(inputs=input_tensor, outputs=output_tensor) 利用函数式 API,你可以操纵模型处理的数据张量,并将层应用于这个张量,就好像这些层是函数一样.   配置学习过程是在编译这一步,你需要指定模型使用的优化器和损失函数,以及训练过程 中想要监控的指标: from keras import optimizers model.compile(optimizer=optimizers.RMSprop(lr=0.001),  loss='mse',  metrics=['accuracy'])   学习过程就是通过 fit() 方法将输入数据的 Numpy 数组(和对应的目标数据)传入模型: model.fit(input_tensor, target_tensor, batch_size=128, epochs=10)                      
上一篇:深度学习笔记10_如何处理过拟合


下一篇:tensorflow mnist