美文网首页
2020 0703 认识用 Python 编写的高级神经网络 A

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

作者: 是黄小胖呀 | 来源:发表于2020-07-03 20:32 被阅读0次

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/

相关文章

网友评论

      本文标题:2020 0703 认识用 Python 编写的高级神经网络 A

      本文链接:https://www.haomeiwen.com/subject/xnheqktx.html