import tensorflow as tf
1. tf.keras.datasets
tf.keras.datasets模块提供了一些玩具数据集(已经矢量化,Numpy 格式),可用于调试模型或创建简单的代码示例。(例MNIST数字数据集,Fashion MNIST dataset潮流衣服数据集)
#调用示例
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
'''
返回四个Numpy数组,train_images:训练数据;train_labels:训练标签;test_images:测试数据;test_labels:测试标签
'''
2. tf.keras.Sequential
tf.keras.Sequential模块是为搭建神经网络的顺序模型而存在的,可以说是它是作为一个函数或者模块顺序调节器以及执行器。搭建的模型运行时是根据该函数中模块的顺序依次起作用。
#应用示例(两种方式)
#1.
model = tf.models.Sequential(
Dense(32, input_shape = (784.)),
Activation('relu')
)
#2.
model = tf.models.Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
3.tf.keras.layers.Flatten
tf.keras.layers.Flatten层的作用是将一个多维向量展开成为一维向量,可以理解为展开成一行向量,例若输入向量的大小为(None, 1, 10, 64)),则其展开后的向量大小为(None,640)。
#使用示例
>>> model = tf.keras.Sequential()
>>> model.add(tf.keras.layers.Conv2D(64, 3, 3, input_shape=(3, 32, 32)))
>>> model.output_shape
(None, 1, 10, 64)
>>> model.add(Flatten())
>>> model.output_shape
(None, 640)
4.tf.keras.layers.Dense
tf.keras.layers.Dense层为全连接层,用以输出预测结果或预测概率。
Dense参数介绍
tf.keras.layers.Dense(
units,
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
**kwargs
)
#使用示例
keras.layers.Dense(128, activation='relu')
model.compile()方法用于在配置训练方法时,告知训练时用的优化器、损失函数和准确率评测标准
model.compile(optimizer = 优化器,
loss = 损失函数,
metrics = ["准确率”])
6.model.evaluate 和 model.predict
model.evaluate 和 model.predict均是用来使用训练好的模型model来对预测数据进行测试,不同的是model.evaluate()输入数据和标签,输出的是损失值和正确率;model.predict ()输入的是测试数据,输出的是测试结果(各标签的置信度,置信度最大的标签为该数据的标签)。
# model.predict和model.evaluate比较
loss,accuracy = model.evaluate(X_test,Y_test)
y_pred = model.predict(X_test,batch_size = 1)