首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
01 | 课程介绍:AI进阶需要落地实战
02 | 内容综述:如何快速⾼效学习AI与TensorFlow 2
03 | TensorFlow 2新特性
04 | TensorFlow 2核心模块
05 | TensorFlow 2 vs TensorFlow 1.x
06 | TensorFlow 2落地应⽤
07 | TensorFlow 2开发环境搭建
08 | TensorFlow 2数据导入与使⽤
09 | 使用tf.keras.datasets加载数据
10 | 使用tf.keras管理Sequential模型
11 | 使用tf.keras管理functional API
12 | Fashion MNIST数据集介绍
13 | 使用TensorFlow2训练分类网络
14 | 行业背景:AI新零售是什么?
15 | 用户需求:线下门店业绩如何提升?
16 | 长期⽬标:货架数字化与业务智能化
17 | 短期目标:自动化陈列审核和促销管理
18 | 方案设计:基于深度学习的检测/分类的AI流水线
19 | 方案交付:支持在线识别和API调用的AI SaaS
20 | 基础:目标检测问题定义与说明
21 | 基础:深度学习在目标检测中的应用
22 | 理论:R-CNN系列二阶段模型综述
23 | 理论:YOLO系列一阶段模型概述
24 | 应用:RetinaNet 与 Facol Loss 带来了什么
25 | 应用:检测数据标注方法与流程
26 | 应用:划分检测训练集与测试集
27 | 应用:生成 CSV 格式数据集与标注
28 | 应用:使用TensorFlow 2训练RetinaNet
29 | 应用:使用RetinaNet检测货架商品
30 | 扩展:目标检测常用数据集综述
31 | 扩展:目标检测更多应用场景介绍
32 | 基础:图像分类问题定义与说明
33 | 基础:越来越深的图像分类网络
34 | 应⽤:检测SKU抠图与分类标注流程
35 | 应⽤:分类训练集与验证集划分
36 | 应⽤:使⽤TensorFlow 2训练ResNet
37 | 应用:使用ResNet识别货架商品
38 | 扩展:图像分类常用数据集综述
39 | 扩展:图像分类更多应⽤场景介绍
40 | 串联AI流程理论:商品检测与商品识别
41 | 串联AI流程实战:商品检测与商品识别
42 | 展现AI效果理论:使用OpenCV可视化识别结果
43 | 展现AI效果实战:使用OpenCV可视化识别结果
44 | 搭建AI SaaS理论:Web框架选型
45 | 搭建AI SaaS理论:数据库ORM选型
46 | 搭建AI SaaS理论:10分钟快速开发AI SaaS
47 | 搭建AI SaaS实战:10 分钟快速开发AI SaaS
48 | 交付AI SaaS:10分钟快速掌握容器部署
49 | 交付AI SaaS:部署和测试AI SaaS
50 | 使⽤TensorFlow 2实现图像数据增强
51 | 使⽤TensorFlow 2实现分布式训练
52 | 使⽤TensorFlow Hub迁移学习
53 | 使⽤@tf.function提升性能
54 | 使⽤TensorFlow Serving部署云端服务
55 | 使⽤TensorFlow Lite实现边缘智能
当前位置:
首页>>
技术小册>>
TensorFlow项目进阶实战
小册名称:TensorFlow项目进阶实战
### 09 | 使用`tf.keras.datasets`加载数据 在TensorFlow的广阔生态中,`tf.keras`作为高级神经网络API,极大地简化了模型构建、训练和评估的流程。而`tf.keras.datasets`模块则是这一流程中不可或缺的一环,它提供了一系列预加载的数据集,这些数据集经过精心挑选和预处理,非常适合用于机器学习和深度学习实验的快速原型设计和测试。本章将深入探讨如何使用`tf.keras.datasets`加载数据,包括数据集的加载方式、数据预处理技巧以及如何利用这些数据集进行初步的数据探索。 #### 一、`tf.keras.datasets`概述 `tf.keras.datasets`模块内置了多个经典的数据集,如MNIST手写数字识别、CIFAR-10图像分类、IMDB电影评论情感分析等,覆盖了图像识别、自然语言处理等多个领域。这些数据集通常被分为训练集和测试集(有时还包括验证集),用户可以直接通过简单的函数调用加载,无需自行下载和预处理,极大地提高了开发效率。 #### 二、加载数据集的基本步骤 使用`tf.keras.datasets`加载数据集的步骤通常非常直观,以下是一个通用的流程: 1. **导入必要的库**:首先,确保已经安装了TensorFlow,并导入`tf.keras.datasets`模块。 2. **选择数据集**:根据实验需求,从`tf.keras.datasets`中选择合适的数据集。 3. **加载数据集**:调用数据集的加载函数,通常这些函数会返回两个元组(或列表),分别代表训练集和测试集(有时还有验证集)。每个元组包含输入数据和标签。 4. **数据预处理**:根据模型的需求,对加载的数据进行预处理,如归一化、重塑形状、编码标签等。 5. **划分数据集**(可选):如果数据集没有直接提供验证集,可以根据需要手动从训练集中划分出一部分作为验证集。 #### 三、示例:加载MNIST数据集 MNIST是一个包含手写数字(0-9)的图像数据集,每张图像都是28x28像素的灰度图。下面是一个加载MNIST数据集的示例: ```python import tensorflow as tf # 加载MNIST数据集 (train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data() # 查看数据集的形状 print("训练图像形状:", train_images.shape) print("训练标签形状:", train_labels.shape) print("测试图像形状:", test_images.shape) print("测试标签形状:", test_labels.shape) # 数据预处理示例:归一化 train_images, test_images = train_images / 255.0, test_images / 255.0 # 验证数据加载成功 import matplotlib.pyplot as plt plt.figure(figsize=(10,10)) for i in range(25): plt.subplot(5,5,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(train_images[i], cmap=plt.cm.binary) plt.xlabel(train_labels[i]) plt.show() ``` #### 四、数据预处理技巧 数据预处理是机器学习项目中至关重要的一步,它直接影响到模型的性能和训练效率。以下是一些常用的数据预处理技巧: 1. **归一化/标准化**:将数据的数值范围缩放到一个特定的区间(如0-1或-1到1),或调整其分布(如使均值为0,标准差为1),有助于加快模型收敛速度。 2. **重塑数据**:根据模型输入层的要求,调整数据的形状。例如,对于卷积神经网络(CNN),通常需要将图像数据重塑为[样本数, 高度, 宽度, 通道数]的形式。 3. **编码标签**:对于分类问题,标签通常需要进行编码,如使用独热编码(One-Hot Encoding)将类别标签转换为二进制形式。 4. **数据增强**:通过旋转、缩放、裁剪、添加噪声等方式增加数据集的多样性,有助于提高模型的泛化能力。 5. **划分数据集**:将数据集划分为训练集、验证集和测试集,有助于在训练过程中监控模型性能,防止过拟合。 #### 五、数据探索 在加载和预处理数据之后,进行数据探索是理解数据特性和发现潜在问题的重要步骤。数据探索可以包括以下几个方面: - **统计描述**:计算数据的均值、中位数、标准差等统计量,了解数据的分布情况。 - **可视化**:使用图表(如直方图、散点图、箱线图等)展示数据的分布和关系。 - **异常值检测**:识别并处理数据中的异常值,避免它们对模型训练产生不利影响。 - **特征相关性分析**:分析特征之间的相关性,了解哪些特征对目标变量有重要影响。 #### 六、总结 `tf.keras.datasets`模块为TensorFlow用户提供了便捷的数据加载方式,使得机器学习和深度学习实验的快速原型设计和测试成为可能。通过掌握数据加载和预处理的基本技能,以及进行数据探索的方法,可以更有效地利用这些数据集来训练和优化模型。在未来的项目中,不妨尝试使用更多的`tf.keras.datasets`中的数据集,探索不同领域的数据特性和挑战,不断提升自己的技术水平和解决问题的能力。
上一篇:
08 | TensorFlow 2数据导入与使⽤
下一篇:
10 | 使用tf.keras管理Sequential模型
该分类下的相关小册推荐:
AI时代程序员:ChatGPT与程序员(下)
区块链权威指南(中)
AIGC:内容生产力的时代变革
人工智能超入门丛书--知识工程
ChatGPT与AIGC工具入门实战指南
ChatGPT原理与实战:大型语言模型(中)
区块链权威指南(下)
ChatGPT与提示工程(下)
巧用ChatGPT轻松学演讲(上)
推荐系统概念与原理
ChatGPT大模型:技术场景与商业应用(上)
人工智能超入门丛书--数据科学