使用tf.keras.model.Sequential搭建分类模型

一:使用tf.keras.model.Sequential搭建分类模型主要包括七个步骤:

  1. 导入包模块
  2. 加载数据集(这里使用的是keras.datasets.fashion_mnist数据包)
  3. 切分训练集和验证集
  4. 对数据进行归一化处理
  5. 搭建分类模型
  6. 训练模型
  7. 将模型应用于测试集

二:导入数据包

这里将一次性导入在机器学习方面经常使用到的库。

1 import numpy as np
2 import pandas as pd
3 import matplotlib as mpl
4 import matplotlib.pyplot as plt
5 import sklearn
6 import tensorflow as tf
7 import tensorflow.keras as keras

打印一下库的相关信息

1 for module in np, pd, mpl, sklearn, tf, keras:
2   print (module.__name__, module.__version__)

三:加载数据集

这里使用的是keras自带的数据集,用于图像识别的数据

1 fashion_mnist = keras.datasets.fashion_mnist
2 (x_train_all, y_train_all), (x_test, y_test) = fashion_mnist.load_data()

在对数据进行处理之前,我们应该查看一下数据集中的数据样本,所以我们定义一下两个函数来查看数据集中的图片

1 # 定义函数,查看一张图片
2 def show_single_img(img_arr):
3     plt.imshow(img_arr, cmap='binary')
4     plt.show()
5 show_single_img(x_train_all[0])

显示结果为:

 1 # 定义函数,显示多行多列图片。显示x_data的前n_rows*n_cols个图片
 2 def show_images(n_rows, n_cols, x_data, y_data, class_names):
 3     assert len(x_data) == len(y_data)#数据集中的图片的个数必须和其类别个数相同
 4     assert n_rows*n_cols < len(x_data)#要显示的数据量必须小于数据集中的数据量
 5     plt.figure(figsize=(n_rows*1.5, n_cols*1.5))
 6     for row in range(n_rows):
 7         for col in range(n_cols):
 8             index = n_cols * row + col
 9             plt.subplot(n_rows, n_cols, index+1)
10             plt.imshow(x_data[index], cmap='binary', interpolation='nearest')
11             plt.axis('off')# 不显示坐标轴
12             plt.title(class_names[y_data[index]])
13     plt.show()
14 class_names = ['T-shirt', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt',
15               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle_boot']#fashion_mnist数据集图片的类别
16 show_images(3, 3, x_test, y_test, class_names)

显示结果为:

显示3行3列图片

四:切分训练集和验证集

猜你喜欢

转载自www.cnblogs.com/renxiansheng/p/12519558.html