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

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

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来说复杂一些。为什么会这样处理?


目录
相关文章
|
3天前
|
机器学习/深度学习
深度学习中的正则化技术:防止过拟合的利器
【10月更文挑战第30天】本文将深入探讨深度学习中一个关键概念——正则化,它如同园艺师精心修剪枝叶,确保模型不至于在训练数据的细节中迷失方向。我们将从直观的角度理解正则化的重要性,并逐步介绍几种主流的正则化技术,包括L1和L2正则化、Dropout以及数据增强。每种技术都将通过实际代码示例来展示其应用,旨在为读者提供一套完整的工具箱,以应对深度学习中的过拟合问题。
|
3天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的地面垃圾识别分类技术
AI垃圾分类系统结合深度学习和计算机视觉技术,实现高效、精准的垃圾识别与自动分类。系统集成高精度图像识别、多模态数据分析和实时处理技术,适用于市政环卫、垃圾处理厂和智能回收设备,显著提升管理效率,降低人工成本。
基于深度学习的地面垃圾识别分类技术
|
2天前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
18 7
|
5天前
|
机器学习/深度学习 编解码 算法
什么是超分辨率?浅谈一下基于深度学习的图像超分辨率技术
超分辨率技术旨在提升图像或视频的清晰度,通过增加单位长度内的采样点数量来提高空间分辨率。基于深度学习的方法,如SRCNN、VDSR、SRResNet等,通过卷积神经网络和残差学习等技术,显著提升了图像重建的质量。此外,基于参考图像的超分辨率技术通过利用高分辨率参考图像,进一步提高了重建图像的真实感和细节。
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
【10月更文挑战第1天】深度学习中,模型微调虽能提升性能,但常导致“灾难性遗忘”,即模型在新任务上训练后遗忘旧知识。本文介绍弹性权重巩固(EWC)方法,通过在损失函数中加入正则项来惩罚对重要参数的更改,从而缓解此问题。提供了一个基于PyTorch的实现示例,展示如何在训练过程中引入EWC损失,适用于终身学习和在线学习等场景。
46 4
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
|
13天前
|
机器学习/深度学习 监控 自动驾驶
深度学习中的图像识别技术及其应用
【10月更文挑战第20天】本文将探讨深度学习在图像识别领域的应用,包括其原理、关键技术和实践案例。我们将从基础概念出发,逐步深入到模型构建、训练技巧以及性能评估等高级话题。通过实例分析,揭示深度学习如何革新传统图像处理流程,提升识别准确率和效率。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的知识。
|
28天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的图像识别技术
【10月更文挑战第5天】在人工智能的浪潮中,深度学习技术以其卓越的性能和广泛的应用场景成为了科技领域的热点。本文将探讨深度学习在图像识别中的应用,通过实际代码示例,揭示其背后的原理和实现方式。我们将看到,从基础的卷积神经网络到复杂的模型架构,深度学习如何一步步提高图像处理的准确性和效率。
|
22天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习中的迁移学习技术
【10月更文挑战第11天】 本文探讨了深度学习中的迁移学习技术,并深入分析了其原理、应用场景及实现方法。通过实例解析,展示了迁移学习如何有效提升模型性能和开发效率。同时,文章也讨论了迁移学习面临的挑战及其未来发展方向。
|
23天前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
54 2
|
28天前
|
机器学习/深度学习 自然语言处理 算法框架/工具
深度学习中的正则化技术:从理论到实践
【10月更文挑战第5天】本文将探讨深度学习模型中不可或缺的一环——正则化技术。通过深入浅出的方式,我们将了解正则化在防止过拟合中的作用,并揭示其在模型性能提升中的关键角色。文章不仅涉及理论知识,还结合代码示例,帮助读者从实践中掌握这一技术的应用。