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/)
网友评论