二进制文件读取流程分析|学习笔记

简介: 快速学习二进制文件读取流程分析

开发者学堂课程【深度学习框架 TensorFlow 入门二进制文件读取流程分析学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/773/detail/13554


二进制文件读取流程分析


内容介绍:

一、CIFAR10二进制数据集介绍

二、CIFAR10二进制数据读取


一、CIFAR10二进制数据集介绍

CIFAR-10数据集

CIFAR-10数据集由10个类的60000个32*32彩色图像组成,每个类有6000个图像,有50000个训练图像和1000个测试图像。

数据集分为五个培训批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个班级的恰好1000个随机选择的图像。班级的图像比另一个更多。在他们之间,训练批次包含来自每个班级的正好5000张图像。

以下是数据集中的类,以及来自每个类的10个随机图像。

这些类完全互相排斥。汽车和卡车之间没有重叠。“汽车”包括轿车,SUV,这类东西。“卡车”之包括大卡车。都不包括皮卡车。

二进制版本数据文件

二进制版本包含文件 data_batch_1.bin,data_batch_2.bin,...,data_batch_5.bin 以及 test_batch.bin。这些文件中的每一个格式如下,数据中每个样本包含了特征值和目标值:

<1x标签><3072x像素>

...

<1x标签><3072x像素>

每3073个字节是一个样本

1个目标值+3072像素(1024字节红色通道1024绿色通道1024蓝色通道)

第一个字节是第一个图像的标签,它是一个0-9范围内的数字。接下来的3072个字节是图像像素的值。前1024个字节是红色通道值,下1024个绿色,最后1024个蓝色。


二、CIFAR10二进制数据读取

1、流程分析

1)构造文件队列

2)读取二进制数据并进行解码

reader = tf.FixedLengthRecordReader(3073)

key,value = reader.read(file_queue)

decoded = tf.decode_raw(value,tf.uint8)

* 对 tensor 对象进行切片

label

* 一个样本 image(3072字节 = 1024red + 1024green + 1024blue)

[[ red [32,32]],

[ green [32,32]],

[blue[32,32]]]

shape = (3,32,32) = ( channels , height , width )

==> TensorFlow 的图像表示习惯

图片的形状、类型调整完毕

3)处理图片数据形状以及数据类型,批处理返回

4)开启会话线程运行

相关文章
|
1月前
|
存储 Kubernetes 数据库
K3S ——轻量化K8S 入门指南
本文介绍轻量级Kubernetes发行版K3s,适用于边缘计算、IoT等场景。涵盖其架构、安装部署(单节点/高可用/离线)、核心组件、网络存储配置及生产建议,助力快速构建轻量化容器平台。
343 4
|
存储 缓存 网络协议
freeswitch使用说明
freeswitch使用说明
freeswitch使用说明
|
搜索推荐 SEO
谈微信搜索SEO(搜一搜)怎么排名第一
谈微信搜索SEO(搜一搜)怎么排名第一
512 54
|
NoSQL Java MongoDB
SpringBoot中MongoDB的那些高级用法
本文探讨了在Spring Boot项目中使用MongoDB的多种方式及其高级用法。MongoDB作为一种NoSQL数据库,在某些场景下相较于SQL数据库有着独特的优势。文中详细介绍了在Spring Boot中使用MongoDB的三种主要方式:直接使用官方SDK、使用Spring JPA以及使用MongoTemplate,并对比分析了它们之间的差异。此外,文章深入讲解了Spring Data MongoDB提供的各种注解(如@Id, @Document, @Field等)以简化操作流程,并探讨了MongoTemplate监听器的应用,如设置主键值、记录日志等。
966 2
基于大爆炸优化算法的PID控制器参数寻优matlab仿真
本研究基于大爆炸优化算法对PID控制器参数进行寻优,并通过Matlab仿真对比优化前后PID控制效果。使用MATLAB2022a实现核心程序,展示了算法迭代过程及最优PID参数的求解。大爆炸优化算法通过模拟宇宙大爆炸和大收缩过程,在搜索空间中迭代寻找全局最优解,特别适用于PID参数优化,提升控制系统性能。
|
12月前
|
自然语言处理 物联网 API
使用CAMEL和Unsloth进行数据生成与Qwen模型微调
本项目结合CAMEL和Unsloth,生成高质量训练数据并对Qwen 7B模型进行微调,提升其在特定内容上的理解和生成能力。我们使用CAMEL生成指令-输入-输出三元组数据,并通过Unsloth的LoRA技术加速微调过程。详细步骤包括环境准备、API密钥设置、模型加载与配置、数据生成与保存、模型训练及推理。最终,微调后的Qwen 7B模型能更好地处理CAMEL社区相关文本。 更多详情请参考: - [CAMEL GitHub](https://github.com/camel-ai/camel)
|
机器学习/深度学习 编解码 数据可视化
转置卷积-清晰易懂
转置卷积(Transpose Convolution)是一种用于图像上采样的技术,常用于图像分割、生成对抗网络(GAN)等领域。与传统的上采样方法不同,转置卷积通过学习参数来实现更优的插值效果。本文介绍了转置卷积的背景、应用、与标准卷积的区别以及数学推导,帮助读者深入理解其原理和应用场景。
1203 1
|
缓存 网络协议 Linux
通过实验深入了解 TCP 连接的建立和关闭
TCP/IP 这个主题很多文章比较陈旧,且以讹传讹的东西太多,所以本文作者结合了理论和实践去写,旨在通过一系列实验帮助读者深入理解 TCP 连接的建立过程。
478 13
|
人工智能 Kubernetes 持续交付
Kubernetes环境下基于微服务架构的容器化AI应用部署与管理最佳实践
【8月更文第19天】随着AI技术的快速发展,越来越多的企业开始将AI应用部署到生产环境。然而,AI应用往往包含大量的组件和服务,这使得其部署和管理变得非常复杂。微服务架构和容器化技术(如Docker)结合Kubernetes集群管理,为解决这些问题提供了强大的工具。本文将介绍如何在Kubernetes环境中部署和管理基于微服务架构的容器化AI应用。
1025 0
|
数据采集 机器学习/深度学习 数据挖掘
基于Python实现时间序列分析建模(ARIMA模型)项目实战
基于Python实现时间序列分析建模(ARIMA模型)项目实战