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

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

cifar数据集是以cifar-10-python.tar.gz的压缩包格式存储在远程服务器,利用keras的get_file()方法下载压缩包并执行解压,解压后得到:

cifar-10-batches-py

├── batches.meta

├── data_batch_1

├── data_batch_2

├── data_batch_3

├── data_batch_4

├── data_batch_5

├── readme.html

└── test_batch


其中data_batch_[1..5]为训练集数据,test_batch为测试集数据。


def load_data():

   """Loads CIFAR10 dataset.

   # Returns

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

   """

   dirname = 'cifar-10-batches-py'

   origin = 'https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz'

   path = get_file(dirname, origin=origin, untar=True)


   num_train_samples = 50000


   x_train = np.empty((num_train_samples, 3, 32, 32), dtype='uint8')

   y_train = np.empty((num_train_samples,), dtype='uint8')


   for i in range(1, 6):

       fpath = os.path.join(path, 'data_batch_' + str(i))

       (x_train[(i - 1) * 10000: i * 10000, :, :, :],

        y_train[(i - 1) * 10000: i * 10000]) = load_batch(fpath)


   fpath = os.path.join(path, 'test_batch')

   x_test, y_test = load_batch(fpath)


   y_train = np.reshape(y_train, (len(y_train), 1))

   y_test = np.reshape(y_test, (len(y_test), 1))


   if K.image_data_format() == 'channels_last':

       x_train = x_train.transpose(0, 2, 3, 1)

       x_test = x_test.transpose(0, 2, 3, 1)


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


data_batch_i 存放了cifar的训练集数据,每个文件1万条数据,采用pickle的方式进行序列化数据,利用pickle.load()的方式加载文件并反序列化为之前的dict(),该字典中有’data’和’label’两个key,分别存放了数据和标签。


def load_batch(fpath, label_key='labels'):

   """Internal utility for parsing CIFAR data.

   # Arguments

       fpath: path the file to parse.

       label_key: key for label data in the retrieve

           dictionary.

   # Returns

       A tuple `(data, labels)`.

   """

   with open(fpath, 'rb') as f:

       if sys.version_info < (3,):

           d = cPickle.load(f)

       else:

           d = cPickle.load(f, encoding='bytes')

           # decode utf8

           d_decoded = {}

           for k, v in d.items():

               d_decoded[k.decode('utf8')] = v

           d = d_decoded

   data = d['data']

   labels = d[label_key]


   data = data.reshape(data.shape[0], 3, 32, 32)

   return data, labels

目录
打赏
0
0
0
0
14
分享
相关文章
使用Python实现智能食品消费模式分析的深度学习模型
使用Python实现智能食品消费模式分析的深度学习模型
158 70
分析对比大模型OCR、传统OCR和深度学习OCR
OCR技术近年来迅速普及,广泛应用于文件扫描、快递单号识别、车牌识别及日常翻译等场景,极大提升了便利性。其发展历程从传统方法(基于模板匹配和手工特征设计)到深度学习(采用CNN、LSTM等自动学习高级语义特征),再到大模型OCR(基于Transformer架构,支持跨场景泛化和少样本学习)。每种技术在特定场景下各有优劣:传统OCR适合实时场景,深度学习OCR精度高但依赖大量数据,大模型OCR泛化能力强但训练成本高。未来,大模型OCR将结合多模态预训练,向通用文字理解方向发展,与深度学习OCR形成互补生态,最大化平衡成本与性能。
使用Python实现智能食品消费习惯分析的深度学习模型
使用Python实现智能食品消费习惯分析的深度学习模型
190 68
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
165 36
使用Python实现智能食品消费趋势分析的深度学习模型
使用Python实现智能食品消费趋势分析的深度学习模型
165 18
基于深度学习的图像识别技术及其在自动驾驶中的应用####
本文深入探讨了深度学习驱动下的图像识别技术,特别是在自动驾驶领域的革新应用。不同于传统摘要的概述方式,本节将直接以“深度学习”与“图像识别”的技术融合为起点,简述其在提升自动驾驶系统环境感知能力方面的核心作用,随后快速过渡到自动驾驶的具体应用场景,强调这一技术组合如何成为推动自动驾驶从实验室走向市场的关键力量。 ####
152 24
基于深度学习的图像识别技术在自动驾驶中的应用####
随着人工智能技术的飞速发展,深度学习已成为推动自动驾驶技术突破的关键力量之一。本文深入探讨了深度学习算法,特别是卷积神经网络(CNN)在图像识别领域的创新应用,以及这些技术如何被集成到自动驾驶汽车的视觉系统中,实现对复杂道路环境的实时感知与理解,从而提升驾驶的安全性和效率。通过分析当前技术的最前沿进展、面临的挑战及未来趋势,本文旨在为读者提供一个全面而深入的视角,理解深度学习如何塑造自动驾驶的未来。 ####
178 1
基于深度学习的图像识别技术在自动驾驶中的应用研究####
本文旨在探讨深度学习技术,特别是卷积神经网络(CNN)在自动驾驶车辆图像识别领域的应用与进展。通过分析当前自动驾驶技术面临的挑战,详细介绍了深度学习模型如何提升环境感知能力,重点阐述了数据预处理、网络架构设计、训练策略及优化方法,并展望了未来发展趋势。 ####
177 6
深度学习中的正则化技术及其对模型性能的影响
本文深入探讨了深度学习领域中正则化技术的重要性,通过分析L1、L2以及Dropout等常见正则化方法,揭示了它们如何帮助防止过拟合,提升模型的泛化能力。文章还讨论了正则化在不同类型的神经网络中的应用,并指出了选择合适正则化策略的关键因素。通过实例和代码片段,本文旨在为读者提供关于如何在实际问题中有效应用正则化技术的深刻见解。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等