TensorFlow学习——FashionMnist数据集分类训练

本文档介绍如何利用TensorFlow进行FashionMnist数据集的分类训练,重点在于解决数据集导入问题,采用自定义模块实现数据加载。
摘要由CSDN通过智能技术生成

按照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
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值