TensorFlow基本分类

该博客介绍了如何使用TensorFlow的tf.keras API训练一个神经网络模型,对Fashion MNIST数据集中的服装图像进行分类。内容包括数据集的导入、预处理、网络层设置、模型编译、训练、评估和预测。模型首先对图像像素值进行归一化,然后通过Flatten和Dense层构建网络,最后进行了训练和预测,展示了模型在测试集上的表现。
摘要由CSDN通过智能技术生成

训练了一个神经网络模型,来对服装图像进行分类,例如运动鞋和衬衫。tf.keras,这是一个用于在TensorFlow中构建和训练模型的高级API。

from __future__ import absolute_import, division, print_function, unicode_literals
'''
通过该模块,python2可以调用python3的某些功能。
首先是可以做个性化的用法,比如你喜欢用print()而不是print,
更重要的是基本用以上几句就可以让python2和python3有良好的兼容性了。
'''
# 导入TensorFlow和tf.keras
import tensorflow as tf
from tensorflow import keras

# 导入辅助库
import numpy as np
import matplotlib.pyplot as plt

print(tf.__version__)

1.导入Fashion MNIST数据集

Fashion MNIST 数据集,其中包含了10个类别中共70,000张灰度图像。图像包含了低分辨率(28 x 28像素)的单个服装物品。

使用Fashion MNIST进行多样化,因为它比普通的MNIST更具挑战性。两个数据集都相对较小,用于验证算法是否按预期工作。它们是测试和调试代码的良好起点。

我们将使用60,000张图像来训练网络和10,000张图像来评估网络模型学习图像分类任务的准确程度。您可以直接从TensorFlow使用Fashion MNIST,只需导入并加载数据。

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两个数组。
图像是28x28 NumPy数组,像素值介于0到255之间。labels是一个整数数组,数值介于0到9之间。这对应了图像所代表的服装的类别:
     在这里插入图片描述
class_names = [‘T-shirt/top’, ‘Trouser’, ‘Pullover’, ‘Dress’, ‘Coat’,
‘Sandal’, ‘Shirt’, ‘Sneaker’, ‘Bag’, ‘Ankle boot’]
print(train_images.shape)
print(test_images.shape)

(60000, 28, 28)
(10000, 28, 28)

2.数据预处理

在训练网络之前必须对数据进行预处理。 如果您检查训练集中的第一个图像,您将看到像素值落在0到255的范围内:

plt.figure()
plt.imshow(train_images[0])
plt.colorbar()
plt.grid(False)
plt.show()

在这里插入图片描述
在馈送到神经网络模型之前,我们将这些值缩放到0到1的范围。为此,我们将像素值值除以255。重要的是,对训练集和测试集要以相同的方式进行预处理:

train_images = train_images / 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值