图像分类入门 轻松拿下90%准确率
消息来源:baojiabao.com 作者: 发布时间:2024-05-21
原作 Margaret Maynard-Reid
王小新 编译自 TensorFlow的Medium
量子位 出品 | 公众号 QbitAI
这篇教程会介绍如何用TensorFlow里的tf.keras函数,对Fashion-MNIST数据集进行图像分类。
只需几行代码,就可以定义和训练模型,甚至不需要太多优化,在该数据集上的分类准确率能轻松超过90%。
在进入正题之前,我们先介绍一下上面提到的两个名词:
Fashion-MNIST,是去年8月底德国研究机构Zalando Research发布的一个数据集,其中训练集包含60000个样本,测试集包含10000个样本,分为10类。样本都来自日常穿着的衣裤鞋包,每一个都是28×28的灰度图。
这个数据集致力于成为手写数字数据集MNIST的替代品,可用作机器学习算法的基准测试,也同样适合新手入门。
或者去GitHub:
https://github.com/zalandoresearch/fashion-mnist
tf.keras是用来在TensorFlow中导入Keras的函数。Keras是个容易上手且深受欢迎的深度学习高级库,是一个独立开源项目。在TensorFlow中,可以使用tf.keras函数来编写Keras程序,这样就能充分利用动态图机制eager execution和tf.data函数。
下面可能还会遇到其他深度学习名词,我们就不提前介绍啦。进入正题,教你用tf.keras完成Fashion-MNIST数据集的图像分类~
运行环境
无需设置,只要使用Colab直接打开这个Jupyter Notebook链接,就能找到所有代码。
https://colab.research.google.com/github/margaretmz/deep-learning/blob/master/fashion_mnist_keras.ipynb
数据处理
Fashion-MNIST数据集中有十类样本,标签分别是:
T恤 0
裤子 1
套头衫 2
裙子 3
外套 4
凉鞋 5
衬衫 6
运动鞋 7
包 8
踝靴 9
数据集导入
下面是数据集导入,为后面的训练、验证和测试做准备。
只需一行代码,就能用keras.datasets界面来载入fashion_mnist数据,再用另一行代码来载入训练集和测试集。
数据可视化
我喜欢用Jupyter Notebook来可视化,你也可以用matplotlib库中imshow函数来可视化训练集中的图像。要注意,每个图片都是大小为28x28的灰度图。
1# Show one of the images from the training dataset
2plt.imshow(x_train[img_index])
数据归一化
接着,进行数据归一化,使得样本值都处于0到1之间。
数据集划分
这个数据集一共包含60000个训练样本和10000个测试样本,我们会把训练样本进一步划分为训练集和验证集。下面是深度学习中三种数据的作用:
训练数据,用来训练模型;
验证数据,用来调整超参数和评估模型;
测试数据,用来衡量最优模型的性能。
模型构建
下面是定义和训练模型。
模型结构
在Keras中,有两种模型定义方法,分别是序贯模型和功能函数。
在本教程中,我们使用序贯模型构建一个简单CNN模型,用了两个卷积层、两个池化层和一个Dropout层。
要注意,第一层要定义输入数据维度。最后一层为分类层,使用Softmax函数来分类这10种数据。
模型编译
在训练模型前,我们用model.compile函数来配置学习过程。在这里,要选择损失函数、优化器和训练测试时的评估指标。
模型训练
训练模型时,Batch Size设为64,Epoch设为10。
测试性能
训练得到的模型在测试集上的准确率超过了90%。
预测可视化
我们通过datasetmodel.predict(x_test)函数,用训练好的模型对测试集进行预测并可视化预测结果。当标签为红色,则说明预测错误;当标签为绿色,则说明预测正确。下图为15个测试样本的预测结果。
相关文章
- 中兴受美国制裁事件 被罚了20亿美元过程事件始末 中兴被制裁后公司现状
2023-11-02 22:12:46
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因
2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓
2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?
2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元
2023-02-17 18:58:09
- 科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯
2023-02-17 18:46:15
- 华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比
2023-02-17 18:42:49
- 小米MAX4手机上市日期首发价格 骁龙720打造大屏标准
2023-02-17 18:37:22
- 武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱
2023-02-16 15:53:18
- 谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠
2023-02-16 13:34:45
- 巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注
2023-02-13 16:49:06
- 人手不足 韵达快递客服回应大量包裹派送异常没有收到
2023-02-07 15:25:20
- 资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东
2023-02-02 09:24:38
- 三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办
2023-01-24 10:10:02
- 华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone14
2023-01-06 20:27:09
- 芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?
2022-12-02 17:25:17
- 华为暂缓招聘停止社招了吗?官方回应来了
2022-11-19 11:53:50
- 热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全
2022-11-16 16:59:09
- 东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?
2022-10-22 15:21:55
- 苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次
2022-10-03 22:13:45