深度学习实战 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

目录
相关文章
|
11月前
|
机器学习/深度学习 传感器 人工智能
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
在人工智能和计算机视觉的快速发展中,火灾检测与火焰识别逐渐成为智慧城市、公共安全和智能监控的重要研究方向。一个高质量的数据集往往是推动相关研究的核心基础。本文将详细介绍一个火灾火焰识别数据集,该数据集共包含 2200 张图片,并已按照 训练集(train)、验证集(val)、测试集(test) 划分,同时配有对应的标注文件,方便研究者快速上手模型训练与评估。
4326 10
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
11月前
|
机器学习/深度学习 人工智能 监控
河道塑料瓶识别标准数据集 | 科研与项目必备(图片已划分、已标注)| 适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化进程加快和塑料制品使用量增加,河道中的塑料垃圾问题日益严重。塑料瓶作为河道漂浮垃圾的主要类型,不仅破坏水体景观,还威胁水生生态系统的健康。传统的人工巡查方式效率低、成本高,难以满足实时监控与治理的需求。
|
11月前
|
机器学习/深度学习 人工智能 监控
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
坐姿标准好坏姿态数据集的发布,填补了计算机视觉领域在“细分健康行为识别”上的空白。它不仅具有研究价值,更在实际应用层面具备广阔前景。从青少年的健康教育,到办公室的智能提醒,再到驾驶员的安全监控和康复训练,本数据集都能发挥巨大的作用。
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
9月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
11月前
|
机器学习/深度学习 数据采集 算法
PCB电路板缺陷检测数据集(近千张图片已划分、已标注)| 适用于YOLO系列深度学习检测任务【数据集分享】
在现代电子制造中,印刷电路板(PCB)是几乎所有电子设备的核心组成部分。随着PCB设计复杂度不断增加,人工检测PCB缺陷不仅效率低,而且容易漏检或误判。因此,利用计算机视觉和深度学习技术对PCB缺陷进行自动检测成为行业发展的必然趋势。
PCB电路板缺陷检测数据集(近千张图片已划分、已标注)| 适用于YOLO系列深度学习检测任务【数据集分享】
|
机器学习/深度学习 人工智能 监控
单车、共享单车已标注数据集(图片已划分、已标注)|适用于深度学习检测任务【数据集分享】
数据是人工智能的“燃料”。一个高质量、标注精准的单车与共享单车数据集,不仅能够推动学术研究的进步,还能为智慧交通、智慧城市的建设提供有力支撑。 在计算机视觉领域,研究者们常常会遇到“数据鸿沟”问题:公开数据集与真实业务需求之间存在不匹配。本次分享的数据集正是为了弥补这一不足,使得研究人员与工程师能够快速切入单车检测领域,加速模型从实验室走向真实应用场景。
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
603 22
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
1434 6
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1630 64
计算机视觉五大技术——深度学习在图像处理中的应用