背景
水果分类在水果产业和社会经济发展中具有重要意义。目前,水果分类主要依赖人工分类,但这种方法浪费大量人力物力且效率低。随着人工智能和机器视觉的发展,基于深度学习的水果分类方法具有重要意义和广泛的应用价值。
流程
-
数据准备:
- 在这一部分,首先设置了一些参数,如批处理大小、训练周期、标签种类数和学习率。
- 定义了数据预处理操作,包括将图像转换为张量,调整大小、中心裁剪和标准化。
-
数据集创建:
- 遍历了水果数据集目录,收集了图像路径和对应的标签。
- 随机打乱数据集并将数据保存为CSV文件。
-
数据加载与划分:
- 读取了CSV文件,将数据加载到内存中。
- 把数据集划分为训练集和验证集。
- 创建了一个自定义数据集类,这个类包括了数据加载和转换操作。
-
模型构建:
- 在这一部分,定义了一个卷积神经网络(CNN)模型。这个模型包括了卷积层、池化层和全连接层。
- 还创建了一个模型对象并配置了优化器、损失函数和评估指标。
-
模型训练:
- 为训练数据集和验证数据集创建了数据加载器。
- 使用模型对象启动了完整的模型训练流程,包括多个训练周期。
- 最后,保存了训练好的模型,以便后续的使用。
-
模型测试:
- 这部分准备了测试数据集。
- 使用保存的模型进行图像分类预测,并输出了预测结果。
准备
# 查看当前挂载的数据集目录, 该目录下的变更重启环境后会自动还原
# View dataset directory.
# This directory will be recovered automatically after resetting environment.
!ls /home/aistudio/data
# 查看工作区文件, 该目录下的变更将会持久保存. 请及时清理不必要的文件, 避免加载过慢.
# View personal work directory.
# All changes under this directory will be kept even after reset.
# Please clean unnecessary files in time to speed up environment loading.
!ls /home/aistudio/work
# 如果需要进行持久化安装, 需要使用持久化路径, 如下方代码示例:
# If a persistence installation is required,
# you need to use the persistence path as the following:
!mkdir /home/aistudio/external-libraries
!pip install beautifulsoup4 -t /home/aistudio/external-libraries
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可:
# Also add the following code,
# so that every time the environment (kernel) starts,
# just run the following code:
import sys
sys.path.append('/home/aistudio/external-libraries')
import paddle
print(sys.version)
对应关系: torch.nn--paddle.nn torchvision.transforms--paddle.vision.transforms torchvision.datasets--paddle.vision.datasets torch.utils.data--paddle.io.DataLoader