深度学习实战 fashion-mnist数据集预处理技术分析

news/2024/10/18 22:33:46/

keras的fashion-mnist数据集的源码为:

def load_data():

   """Loads the Fashion-MNIST dataset.

   # Returns

       Tuple of Numpy arrays: `(x_train, y_train), (x_test, y_test)`.

   """

   dirname = os.path.join('datasets', 'fashion-mnist')

   base = 'http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/'

   files = ['train-labels-idx1-ubyte.gz', 'train-images-idx3-ubyte.gz',

            't10k-labels-idx1-ubyte.gz', 't10k-images-idx3-ubyte.gz']

 

   paths = []

   for fname in files:

       paths.append(get_file(fname,

                             origin=base + fname,

                             cache_subdir=dirname))

 

   with gzip.open(paths[0], 'rb') as lbpath:

       y_train = np.frombuffer(lbpath.read(), np.uint8, offset=8)

 

   with gzip.open(paths[1], 'rb') as imgpath:

       x_train = np.frombuffer(imgpath.read(), np.uint8,

                               offset=16).reshape(len(y_train), 28, 28)

 

   with gzip.open(paths[2], 'rb') as lbpath:

       y_test = np.frombuffer(lbpath.read(), np.uint8, offset=8)

 

   with gzip.open(paths[3], 'rb') as imgpath:

       x_test = np.frombuffer(imgpath.read(), np.uint8,

                              offset=16).reshape(len(y_test), 28, 28)

 

   return (x_train, y_train), (x_test, y_test)

fashion-mnist数据集以四个gzip格式的方式存储在远程服务器上,利用keras的get_file()下载到本地的keras缓存目录。

然后利用gzip的open()打开文件,利用numpy的frombuffer方法直接加载numpy的数组。如果是图像数据的话,需要进行reshape操作。

此处,为什么加载图片数据的时候需要offset=16,标签数据的时候需要offset=8?

fashion-mnist图像数据集的预处理方式和mnist有很大的不同,四个gz文件分别存放了x_train, y_train, x_test, y_test四个部分,然后分别读取四个文件利用np.frombuffer()方式加载。这种处理方式相对mnist来说复杂一些。为什么会这样处理?


http://www.ppmy.cn/news/149376.html

相关文章

木马盗用“风行播放器签名”流氓推广

360安全卫士 2015/10/16 15:37 by qxnjawk 0x00 摘要 最近,360安全中心检测到,大量推广程序在推广一款带有有效风行签名——“Beijing Funshion Online Technologies Ltd.”的静默安装程序。后续分析发现,该程序静默安装,无法卸载…

Jenkens配置Git遇到的问题

一、源码管理遇到:Failed to connect to repository:Error performing command:git.exe ls-remote-h ........ 。 如下图: 解决:在 系统管理-Global Tool Configuration 设置本地git.exe的路径。如下图:

详解 MNIST 数据集

MNIST 数据集已经是一个被”嚼烂”了的数据集, 很多教程都会对它”下手”, 几乎成为一个 “典范”. 不过有些人可能对它还不是很了解, 下面来介绍一下. MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分: Training set images: train-images-idx3…

Android O版本发送广播受限问题

Android O版本对后台进程做了限制广播的发送,对隐式广播也做了限制; 隐式广播发送: sendBroadcast(new Intent("android.intent.action.MY_BROADCAST_TEST2")); 制定组件然后发送: Intent mIntentnew Intent(BroadcastT…

神经网络衣服分类器详解(Fashion-MNIST数据集)

文章目录 前言一、Fashion-MNIST是什么?二、代码实现1.引入库2.读取数据集3.数据预处理4.搭建神经网络5.编译和训练神经网络模型6.神经网络预测 总结 前言 每个想要学习深度学习、图像识别的同学,想要用到神经网络,入门的实例必定是MNIST手写…

git 遇到 ssh: Could not resolve hostname -: Name or service not known

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、网上教程二、无奈之举 前言 提示:这里可以添加本文要记录的大概内容: git clone 遇到ssh: Could not resolve hostname -: Name o…

android无法接收短信广播,Android BroadcastReceiver接收收到短信的广播

一、知识介绍 1、broadcastReceiver是广播接受者,四大组件之一。 2、Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息。 3、使用场景: ①当手机没有电时,会告知用户“电量低”的广播信息。可以做到正在…

华为分布式块存储Fusion Storage知识总结(二)

目录 一、华为分布式存储Fusion Storage介绍 二、Fusion Storage优势(特点) 1、高弹性和扩展性 2、高性能 3、高可靠性 4、高安全性 5、数据保护 6、高易用性 FusionStorage块存储支持网络拓扑统一管理,管理维护高效集中,…