当前位置: 首页 > news >正文

介绍用于机器学习的 Fashion-MNIST 数据集

介绍用于机器学习的 Fashion-MNIST 数据集

为什么要研究数据集?

让我们首先思考一下为什么要花时间研究数据集的问题。数据是深度学习的主要成分,虽然作为神经网络程序员的任务是让我们的神经网络从我们的数据中学习,但我们仍然有责任了解我们实际用于训练的数据的性质和历史。

一般来说,计算机程序由两个主要组成部分:代码和数据。在传统编程中,程序员的工作是直接编写软件或代码,但在深度学习和神经网络中,所谓的软件就是网络本身,特别是网络在训练过程中自动出现的权重。

​​在这里插入图片描述

程序员的工作是监督和指导训练过程中的学习。我们可以将其视为一种间接编写软件或代码的方式。通过使用数据和深度学习,神经网络程序员可以生产出能够执行计算的软件,而无需编写明确执行这些计算的代码。

因此,数据在开发软件中的作用正在转变,我们可能会看到软件开发人员的角色也随之转变。

关注数据的考虑因素:

  • 谁创建了数据集?
  • 数据集是如何创建的?
  • 使用了哪些转换?
  • 数据集的意图是什么?
  • 可能的意外后果?
  • 数据集是否有偏见?
  • 数据集是否存在伦理问题?

在实践中,获取和访问数据通常是深度学习中最困难的部分之一,因此在我们了解这个特定数据集时,请记住我们在这里看到的一般概念和想法。

MNIST 数据集是什么?

MNIST 数据集,修改后的国家标准与技术研究院数据库,是一个著名的手写数字数据集,通常用于训练机器学习的图像处理系统。NIST 代表 国家标准与技术研究院

MNIST 中的 M 代表 修改过的,这是因为有一个原始的 NIST 数字数据集被修改成了 MNIST。

在这里插入图片描述

MNIST 因为使用频率高而闻名。它通常出于两个原因而被使用:

  1. 初学者使用它,因为它简单
  2. 研究人员使用它来基准测试(比较)不同的模型

数据集包含 70,000​ 张手写数字图像,具体分为:

  • 60,000​ 张训练图像
  • 10,000​ 张测试图像

这些图像最初是由美国人口普查局员工和美国高中生创建的。

MNIST 被如此广泛地使用,图像识别技术也得到了如此大的改进,以至于数据集被认为太简单了。这就是为什么创建了 Fashion-MNIST 数据集。

Fashion-MNIST 是什么?

Fashion-MNIST,顾名思义,是一个时尚物品的数据集。具体来说,数据集有以下十类时尚物品:

索引标签
0T 恤/上衣
1裤子
2套头衫
3连衣裙
4外套
5凉鞋
6衬衫
7运动鞋
8
9短靴

正如我们在之前的帖子中看到的,这些物品的样本看起来像这样:

在这里插入图片描述

Fashion-MNIST 的起源是什么?

Fashion-MNIST 图像来自哪里?Fashion-MNIST 基于 Zalando 网站上的商品组合。Zalando 是一家总部位于德国的跨国时尚商务公司,成立于 2008 年。

这就是为什么我们在 GitHub URL 中看到 zalandoresearch,Fashion-MNIST 数据集可供下载。

Zalando Research 是公司内部创建数据集的团队。

当我们回顾介绍数据集的论文时,我们会看到更多关于图像收集方式的内容,但首先,让我们回答另一个潜伏的问题。

Fashion 数据集中的 MNIST 是什么意思?

为什么 Fashion-MNIST 中有 MNIST?

Fashion MNIST 数据集之所以在名称中有 MNIST,是因为创建者希望用 Fashion-MNIST 替代 MNIST。

因此,Fashion 数据集被设计成尽可能地模仿原始 MNIST 数据集,同时由于数据比手写图像更复杂,引入了更高的训练难度。

我们将看到 Fashion-MNIST 如何在论文中模仿原始数据集,但我们已经看到的一件事是类别的数量。

  • MNIST - 有 10 个类别(每个数字 0-9 一个)
  • Fashion-MNIST - 有 10 个类别(这是故意的)

让我们来看看这篇论文。

在 arXiv 上阅读 Fashion-MNIST 论文

关于论文的第一件事是,作者来自 Zalando Research(Fashion-MNIST 的起源)。

在阅读了论文的摘要后,我们看到了数据集被命名为 Fashion-MNIST 的原因。

Fashion-MNIST 论文的摘要

我们介绍了 Fashion-MNIST,这是一个新的数据集,包含 70,000 张 28 x 28 灰度图像,涵盖 10 个类别的时尚产品,每个类别 7,000 张图像。训练集有 60,000 张图像,测试集有 10,000 张图像。Fashion-MNIST 旨在作为原始 MNIST 数据集的直接替代品,用于基准测试机器学习算法,因为它具有相同的图像大小、数据格式以及训练和测试拆分的结构。数据集可在 https://github.com/zalandoresearch/fashion-mnist 免费获取。

  • arXiv 论文

数据集被设计成原始 MNIST 的替代品。通过使 Fashion-MNIST 数据集规范与原始 MNIST 规范相匹配,从旧数据集到新数据集的转换可以顺利进行。论文声称,切换数据集所需的唯一更改是从获取 MNIST 数据集的 URL 改为指向 Fashion 数据集。

论文还为我们提供了更多关于 MNIST 如此受欢迎的原因的见解:

“MNIST 如此受欢迎的原因与其大小有关,这使得深度学习研究人员能够快速检查和原型化他们的算法。这也得到了补充,因为所有机器学习库(例如 scikit-learn)和深度学习框架(例如 Tensorflow、PyTorch)都提供了使用 MNIST 的辅助函数和方便的示例。”

  • arXiv 论文

PyTorch 为我们提供了一个名为 torchvision​ 的包,使我们能够轻松地开始使用 MNIST 以及 Fashion-MNIST。

我们将在下一篇文章中使用 torchvision​ 将我们的训练集加载到我们的项目中。

Fashion-MNIST 是如何构建的

与 MNIST 数据集不同,时尚集不是手绘的,但数据集中的图像是 Zalando 网站上的实际图像。

然而,它们已经被转换以更接近 MNIST 规范。这是每个网站图像经历的一般转换过程:

  1. 转换为 PNG
  2. 裁剪
  3. 调整大小
  4. 锐化
  5. 扩展
  6. 反色
  7. 灰度化

要查看此过程的更详细描述,请务必查看论文的第二部分。

使用 torchvision​ 访问 Fashion-MNIST

总之,我们已经看到了 Fashion-MNIST 数据集的起源和历史,尽管该数据集被设计成更具挑战性的计算机视觉问题,但该集合仍然是一个很好的起点。

我们将通过一个名为 torchvision​ 的 PyTorch 视觉库访问 Fashion-MNIST,并构建我们的第一个神经网络,该网络能够准确预测给定输入时尚图像的输出类别。

相关文章:

介绍用于机器学习的 Fashion-MNIST 数据集

介绍用于机器学习的 Fashion-MNIST 数据集 为什么要研究数据集? 让我们首先思考一下为什么要花时间研究数据集的问题。数据是深度学习的主要成分,虽然作为神经网络程序员的任务是让我们的神经网络从我们的数据中学习,但我们仍然有责任了解我…...

【GitHub】登录时的2FA验证

一、如何进行2FA认证 1.在你的浏览器中下载 Authenticator身份验证插件 2.使用身份验证器添加凭证 2.1 使用身份验证器扫描验证二维码 选择扫描二维码...

CSDN年度回顾:技术征途上的坚实步伐

嘿,时光过得可真快呀,就像那匹跑得飞快的白马,嗖的一下,2024 年的日历就这么悄无声息地翻到了最后一页。这会儿我回头看看在 CSDN 上度过的这一年,心里那叫一个感慨万千,满满的都是喜悦,就像心里…...

Kotlin Bytedeco OpenCV 图像图像57 图像ROI

Kotlin Bytedeco OpenCV 图像图像57 图像ROI 1 添加依赖2 测试代码3 测试结果 1 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns"http://maven.apache.o…...

支持大功率输出高速频闪的图像处理用光源控制器

机器视觉系统中的光源控制器在确保图像质量、提高系统稳定性、降低能耗以及方便系统扩展和升级等方面发挥着重要作用。它可提供稳定光源&#xff0c;调节参数&#xff0c;另外具有操作便捷性。 下面我们来看Gardasoft的光源控制器&#xff0c;Gardasoft拥有作为图像处理用LED光…...

《从入门到精通:蓝桥杯编程大赛知识点全攻略》(五)-数的三次方根、机器人跳跃问题、四平方和

本博客将详细探讨如何通过二分查找算法来解决这几个经典问题。通过几个实际的例子&#xff0c;我们将展示如何在这些问题中灵活应用二分查找&#xff0c;优化计算过程&#xff0c;并在面对大数据量时保持高效性。 目录 前言 数的三次方根 算法思路 代码如下 机器人跳跃问题…...

Java-数据结构-二叉树习题(2)

第一题、平衡二叉树 ① 暴力求解法 &#x1f4da; 思路提示&#xff1a; 该题要求我们判断给定的二叉树是否为"平衡二叉树"。 平衡二叉树指&#xff1a;该树所有节点的左右子树的高度相差不超过 1。 也就是说需要我们会求二叉树的高&#xff0c;并且要对节点内所…...

解锁面向对象编程:Python 类与对象详解

&#x1f3e0;大家好&#xff0c;我是Yui_&#x1f4ac; &#x1f351;如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f680;如有不懂&#xff0c;可以随时向我提问&#xff0c;我会全力讲解~ &#x1f52…...

国产编辑器EverEdit -重复行

1 重复行 1.1 应用场景 在代码或文本编辑过程中&#xff0c; 经常需要快速复制当前行&#xff0c;比如&#xff0c;给对象的多个属性进行赋值。传统的做法是&#xff1a;选中行-> 复制-> 插入新行-> 粘贴&#xff0c;该操作有4个步骤&#xff0c;非常繁琐。 那有没…...

记一次数据库连接 bug

整个的报错如下&#xff1a; com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho…...

【Springboot相关知识】Springboot结合SpringSecurity实现身份认证以及接口鉴权

Springboot结合SpringSecurity实现身份认证以及接口鉴权 身份认证1. 添加依赖2. 配置JWT工具类3. 配置Spring Security4. 创建JWT请求过滤器5. 创建认证控制器6. 创建请求和响应对象7. 配置UserDetailsService8. 运行应用程序9. 测试总结 接口鉴权1. 启用方法级安全注解2. 定义…...

算法竞赛之差分进阶——等差数列差分 python

目录 前置知识进入正题实战演练 前置知识 给定区间 [ l, r ]&#xff0c;让我们把数组中的[ l, r ] 区间中的每一个数加上c,即 a[ l ] c , a[ l 1 ] c , a[ l 2] c , a[ r ] c; 怎么做&#xff1f;很简单&#xff0c;差分一下即可 还不会的小伙伴点此进入学习 进入正题 …...

20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机

sudo upgrade_tool uf update.img 20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机 2025/1/21 11:54 百度&#xff1a;ubuntu RK3566 刷机 firefly rk3566 ubuntu upgrade_tool烧写详解 https://wiki.t-firefly.com/Core-3566JD4/03-upgrad…...

【Elasticsearch】Springboot编写Elasticsearch的RestAPI

RestAPI 初始化RestClient创建索引库Mapping映射 判断索引库是否存在删除索引库总结 ES官方提供了各种不同语言的客户端&#xff0c;用来操作ES。这些客户端的本质就是组装DSL语句&#xff0c;通过http请求发送给ES。 官方文档地址 由于ES目前最新版本是8.8&#xff0c;提供了全…...

Python数据可视化(够用版):懂基础 + 专业的图表抛给Tableau等专业绘图工具

我先说说文章标题中的“够用版”啥意思&#xff0c;为什么这么写。 按照我个人观点&#xff0c;在使用Python进行数据分析时&#xff0c;我们有时候肯定要结合到图表去进行分析&#xff0c;去直观展现数据的规律和特定&#xff0c;那么我们肯定要做一些简单的可视化&#xff0…...

1.21学习

misc buuctf-爱因斯坦 下载附件后是一个图片&#xff0c;用stegsolve查看一下&#xff0c;各个色都没有问题&#xff0c;然后看一下数据分析&#xff0c;除此之外无其他信息&#xff0c;再看看图片属性&#xff0c;不知道是啥&#xff0c;用随波逐流进行binwalk文件提取然后得…...

SoftGNSS软件接收机源码阅读(一)程序简介、运行调试、执行流程

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、softGNSS 简介1、概述2、相关工作3、我用 softGNSS 做的事4、文件结构5、程序执行流程图 二、程序使用1、射频前端2、参数设置3、处理开源数据…...

Spring Boot AOP实现动态数据脱敏

依赖&配置 <!-- Spring Boot AOP起步依赖 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>/*** Author: 说淑人* Date: 2025/1/18 23:03* Desc…...

Leetcode刷题-二分查找

灵神的二分视频&#xff1a;二分查找 红蓝染色法_哔哩哔哩_bilibili 34 class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:right len(nums) - 1left 0res [-1,-1]mid int((right left)/2)while right > left:if nums[mid] < …...

凭证Account Assignment的校验(FAGL_VALIDATE)

本文主要介绍在S4 HANA OP中凭证Account Assignment的校验配置。具体请参照如下内容&#xff1a; 目录 1. 定义Account Assignment校验策略(FAGL_VALIDATE) 1.1 Derivation Rule 1.2 Assignment 1.3 Initialize 1.4 Enhancement 2. 分配Account Assignment校验策略给公司…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...