2020 0703 认识用 Python 编写的高级神经网络 API Keras

1、指导原则(Keras特点)

用户友好。 

      Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。

模块化。 

      模型被理解为由独立的、完全可配置的模块构成的序列或图。这些模块可以以尽可能少的限制组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方法,它们都是可以结合起来构建新模型的模块。

易扩展性。 

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

基于 Python 实现。 

      Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中,这些代码紧凑,易于调试,并且易于扩展。

2、第一次利用Keras写模型:

import os, sys, time, math

 10import numpy as np

 11import tensorflow as tf

 12from tensorflow import keras

 13from tensorflow.keras.models import Sequential

 14from tensorflow.keras.layers import Dense

 15from tensorflow.keras import layers

 16 

 17 

 18#模型的两种产生方式

 19#1、序列模型

 20 if __name__ == "__main__":

 21   #产生模型 

 22   inputs = keras.Input(shape=(784,))

 23   model = keras.Sequential()

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

 25   model.add(Dense(units=64, activation='relu'))

 26   model.add(Dense(units=10, activation='softmax'))

 27 

 28   dense = layers.Dense(64, activation="relu")

 29   x = dense(inputs)

 30 

 31   x = layers.Dense(64, activation="relu")(x)

 32   outputs = layers.Dense(10)(x)

 33 

 34   model = keras.Model(inputs=inputs, outputs=outputs, name="mnist_model")

 35 

 36   print(model.summary())

 37   #训练数据

 38   (x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

 39 

 40   x_train = x_train.reshape(60000, 784).astype("float32") / 255

 41   x_test = x_test.reshape(10000, 784).astype("float32") / 255

 42   #模型配置

 43   model.compile(

 44    loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),

 45    optimizer=keras.optimizers.RMSprop(),

 46    metrics=["accuracy"],

 47     )

 48   #模型训练

 49   history = model.fit(x_train, y_train, batch_size=64, epochs=2, validation_split=0.2)

 50   test_scores = model.evaluate(x_test, y_test, verbose=2)

 51   print("Test loss:", test_scores[0])

 52   print("Test accuracy:", test_scores[1])


运行结果




参考资料:

1、[tensorflow]tf.keras入门1-基本函数介绍(https://blog.csdn.net/LuohenYJ/article/details/81086239#%E5%BA%8F%E8%B4%AF%EF%BC%88Sequential%EF%BC%89%E6%A8%A1%E5%9E%8B

2、The Sequential model(https://keras.io/guides/functional_api/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容