卷积神经网络-服装图片分类

本教程介绍如何用神经网络训练一个手写数字识别的图像分类模型。通过创建一个神经网络,输入28x28像素的图像,输出对应数字的概率列表。涵盖了数据获取、预处理、构建全连接神经网络、训练与优化以及测试与评估的全过程。
摘要由CSDN通过智能技术生成
简介:
        本教程的代码使用 神经网络来训练可以对手写数字 0-9 进行分类的图像分类机器学习模型。 它通过创建一个神经网络来实现此目的。该神经网络将“28 像素 x 28 像素”图像的像素值作为输入,输出一个包含 10 个概率的列表,一个概率对应于要分类的一个数字。 下面是数据的外观示例。

一、数据获取

使用系统内部的数据集构建神经网络。首先导入需要的库文件,xy中保存训练集的图像和目标。x_testy_test中保存测试集需要的图像和目标。(x, y)及(x_test, y_test)都是数组类型。

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets,layers,optimizers,Sequential,metrics
# 导入数据集管理库,层级,优化器,全连接层容器,测试度量器
import os  # 设置一下输出框打印的内容
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'  
# '2'输出栏只打印error信息,其他乱七八糟的信息不打印
 
#导入数据集,数组类型
(x,y),(x_test,y_test) = datasets.fashion_mnist.load_data()
# 查看数据集信息
print(f'x.shape={x.shape},y.shape={y.shape}') # 查看训练集xy的大小
print(f'x_test.shape={x_test.shape},y_test.shape={y_test.shape}') #查看测试集的大小
print(f'y[:5]={y[:5]}') # 查看y的前5项数据

数据集信息如下,如,y[:5]=[9 0 0 3 0],第一张图片属于第10个类别,第二张图片属于第1个类别。

x.shape=(60000, 28, 28),y.shape=(60000,)#变量x中有60000张图片,
#每张图片的大小是28*28,变量y保存的是每张图片属于哪个分类。
x_test.shape=(10000, 28, 28),y_test.shape=(10000,)
y[:5]=[9 0 0 3 0]

我们通过打印y[:5]来查看前五个标签。这里的标签是整数,表示图像对应的服装类别,比如0表示T恤,1表示裤子等。

图片信息绘制

# 数据集展示
import matplotlib.pyplot as plt
import numpy as np
# 每个类别的名称
class_names = ['Tshirt','Trouser','Pullover','Dress','Coat','Sandal','Shirt','Sneaker','Bag','Ankle boot']
# 绘制图像
for i in ra
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值