模块名称:tf_keras_classification_model
引入相关的包
sklearn 是一个机器学习常用的库对机器学习的常用算法进行封装
%matplotlib inline
import numpy as np
import sklearn
import pandas as pd
import os
import sys
import time
import tensorflow as tf
from tensorflow import keras
打印相关包的版本,以便下一次实现。
print(tf.__version__)
print(sys.version_info)#系统的库
for module in mpl,np,pd,sklearn,tf,keras:
print(module.__name__,module.__version__)
输出结果:
2.2.0
sys.version_info(major=3, minor=8, micro=3, releaselevel='final', serial=0)
matplotlib 3.2.2
numpy 1.18.5
pandas 1.0.5
sklearn 0.23.1
tensorflow 2.2.0
tensorflow.keras 2.3.0-tf
接下来导入***fashion_mnist***数据集
验证集5000张图片(验证集(development set)—— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估)
训练集有55000张图片(是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。)
测试集有10000张图片( 用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。)
#Keras里面有很多数据集,下面这个是一些黑白物品
#导入数据
fashion_minist = keras.datasets.fashion_mnist
#拆分,利用load_data函数
(x_train_all,y_train_all),(x_test,y_test) = fashion_minist.load_data()
#再一次拆分为训练集和验证集
x_valid,x_train = x_train_all[:5000],x_train_all[5000:]
y_valid,y_train = y_train_all[:5000],y_train_all[5000:]
print(x_valid.shape,y_valid.shape)
print(x_train.shape,y_train.shape)
print(x_test.shape,y_test.shape)
显示一张照片
注意cmp参数
def show_single_image(ima_arr):
plt.imshow(ima_arr,cmap = "binary")
plt.show()
show_single_image(x_train[0])
显示结果:
显示多张照片
两个问题
1为什么index要加一呢,思考一下(sublopt第三个参数是从1开始的)
2plt.imshow()和plt.show()的区别
imshow()接收一张图像,只是画出该图,并不会立刻显示出来。
imshow后还可以进行其他draw操作,比如scatter散点等。
所有画完后使用plt.show()才能进行结果的显示。
def show_images(n_rows,n_cols,x_data,y_data,class_names):
assert len(x_data) == len(y_data)
assert n_cols*n_cols < len(x_data)
plt.figure(figsize=(n_cols*1.4,n_rows*1.6))
for row in range(n_rows):
for col in range(n_cols):
index = n_cols*row +col
plt.subplot(n_rows,n_cols,index+1)
plt.imshow(x_data[index],cmap='binary',interpolation=
'nearest')
plt.axis('off')
plt.title(class_names[y_data[index]])
plt.show()
class_names = ['T-shirt','Trouser','Pullover','Dress',
'Coat','Sandal','Shirt','Sneaker',
'Bag','Ankle boot']
show_images(3,5,x_train,y_train,class_names)
显示结果: