自学内容网 自学内容网

昇思13天

ResNet50迁移学习

ResNet50迁移学习总结

背景介绍

在实际应用场景中,由于训练数据集不足,很少有人会从头开始训练整个网络。普遍做法是使用在大数据集上预训练得到的模型,然后将该模型的权重参数用于特定任务中。本章使用迁移学习方法对ImageNet数据集中的狼和狗图像进行分类。

数据准备
  1. 下载数据集

    • 数据集链接: 狗与狼分类数据集
    • 数据集结构:
      datasets-Canidae/data/
      └── Canidae
          ├── train
          │   ├── dogs
          │   └── wolves
          └── val
              ├── dogs
              └── wolves
      
  2. 加载数据集

    • 使用mindspore.dataset.ImageFolderDataset接口加载数据集,并进行图像增强。
  3. 数据集可视化

    • ImageFolderDataset接口中加载训练数据集,创建数据迭代器,进行可视化。
训练模型
  1. 模型选择

    • 使用ResNet50模型进行训练,通过设置pretrained参数为True下载并加载ResNet50的预训练模型。
  2. 固定特征进行训练

    • 冻结除最后一层之外的所有网络层,以便不在反向传播中计算梯度。
  3. 训练和评估

    • 开始训练模型,保存评估精度最高的ckpt文件。
  4. 模型预测可视化

    • 使用固定特征训练得到的best.ckpt文件对验证集进行预测,正确预测显示蓝色字体,错误预测显示红色字体。

注意点

  1. 数据集准备

    • 确保数据集下载完整并解压到正确目录。
    • 检查数据集的目录结构是否符合预期。
  2. 数据加载与预处理

    • 使用正确的接口和参数加载数据集。
    • 进行适当的图像增强操作以提高模型的泛化能力。
  3. 迁移学习

    • 下载预训练模型并正确加载权重参数。
    • 冻结不需要更新的网络层,避免不必要的计算。
  4. 训练过程

    • 保存训练过程中精度最高的模型参数。
    • 监控训练过程中的损失和精度变化。
  5. 模型评估

    • 使用验证集进行模型评估,确保模型的实际效果。
    • 对预测结果进行可视化,直观展示模型性能。
    • 在这里插入图片描述

原文地址:https://blog.csdn.net/qq_42907812/article/details/140281023

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!