按照tensorflow官网写的代码,在导入数据集部分,由于数据集无法自动导入,使用了自定义的导入模块
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 11 12:26:02 2019
@author: Lenovo
"""
#将新版本特性引入当前版本中
from __future__ import absolute_import, division, print_function, unicode_literals
# 导入TensorFlow和tf.keras
import tensorflow as tf
from tensorflow import keras
# 导入辅助库
import numpy as np
import matplotlib.pyplot as plt
#导入自定义的载入数据模块(官网给出的直接下载数据集操作不可用,所以手动下载数据集并读取数据)
import Load_Data
#print(tf.__version__)
#显示tensorflow版本信息
#载入训练数据及其标签,测试数据及其标签
#具体载入方法见load_data函数内部
(train_images, train_labels), (test_images, test_labels) = Load_Data.load_data()
#由于标签中的类别名称是0-9,这里将类别名写出来
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
#查看数据信息
print(train_images.shape)
print(len(train_labels))
print(train_labels)
print(test_images.shape)
print(len(test_labels))
'''
#检查训练图像
#创建一个图形,显示第一个训练图像
plt.figure()
plt.imshow(train_images[0])
#在图像旁边添加颜色条,不生成网格,显示图片
plt.colorbar()
plt.grid(False)
plt.show()
'''
#将图像的像素值缩放到0-1之间
train_images = train_images / 255.0
test_images = test_images / 255.0
'''
#创建10*10英尺画布,分成25个axes区域并逐个操作
plt.figure(figsize=(10,10))
#X,Y轴不设置刻度以及文组
#不显示网格
#显示第i张图,cm.binary代表用二值颜色图显示图片,即黑白图
#X轴标签为类别名字
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(train_images[i], cmap=plt.cm.binary)
plt.xlabel(class_names[train_labels[i]])
plt.show()
'''
#三层网络
#第一层将输入的28*28尺寸的图片展开成一维
#第二三层为全连接层(稠密层)
#第一个参数为神经元数量,第二个参数为激活函数类型
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10, activation