《昇思 25 天学习打卡营第 7 天 | 模型训练 》

《昇思 25 天学习打卡营第 7 天 | 模型训练 》

活动地址:https://xihe.mindspore.cn/events/mindspore-training-camp

签名:Sam9029


模型训练

本章节-结合前几张的内容所讲-算是一节综合实践

  • mindscope 框架使用
  • 张量 数据类型
  • 数据集下载与加载
  • 网络构建
  • 函数式自动微分
    以上内容都会在本节内容中实践体现
  • 模型训练的四个步骤如下:

1.构建数据集。

2.定义神经网络模型。

3.定义超参、损失函数及优化器。

4.输入数据集进行训练与评估。

前言

这一节有一个疑问:深度学习中的 模型和深度学习网络 是什么关系?

  • 在实际应用中,当我们谈论"模型"时,可能是在讨论模型的架构、性能、泛化能力或如何将其应用于特定任务。而当我们谈论"深度学习网络"时,我们可能更侧重于网络的结构和工作原理。
  • 总结来说,深度学习网络是实现深度学习模型的一种方式,而模型是深度学习网络学习得到的能够进行预测或分类的具体实例。在深度学习领域,这两个术语经常可以互换使用,尤其是在讨论具体的神经网络结构时。

模型训练的四个步骤

  1. 构建数据集 :数据是深度学习的基础。使用MindSpore的MnistDataset,我们可以方便地加载和处理MNIST数据集。

    python 复制代码
    from mindspore.dataset import MnistDataset
    train_dataset = MnistDataset("MNIST_Data/train", batch_size=64)
    test_dataset = MnistDataset("MNIST_Data/test", batch_size=64)
  2. 定义神经网络模型 :一个简单的神经网络模型通常包含输入层、隐藏层和输出层。在MindSpore中,我们可以通过nn.SequentialCell来构建顺序模型。

    python 复制代码
    class Network(nn.Cell):
        def init(self):
            super().init()
            self.flatten = nn.Flatten()
            self.dense_relu_sequential = nn.SequentialCell(
                nn.Dense(28*28, 512),
                nn.ReLU(),
                nn.Dense(512, 512),
                nn.ReLU(),
                nn.Dense(512, 10)
            )
    
        def construct(self, x):
            x = self.flatten(x)
            x = self.dense_relu_sequential(x)
            return x
  3. 定义超参、损失函数及优化器:超参数如学习率、批次大小和训练轮次对模型训练至关重要。损失函数评估预测值与实际值的差异,而优化器则用于更新模型参数。

    python 复制代码
    epochs = 3
    batch_size = 64
    learning_rate = 0.01
    loss_fn = nn.CrossEntropyLoss()
    optimizer = nn.SGD(model.trainable_params(), learning_rate=learning_rate)
  4. 训练与评估:通过迭代数据集进行训练,并在每轮结束后评估模型性能。

    python 复制代码
    def train_loop(model, dataset):
        # 训练循环的实现...
    def test_loop(model, dataset, loss_fn):
        # 测试循环的实现...
相关推荐
热爱生活的五柒26 分钟前
026主流三大模型(GPT / Gemini / Claude Code)总结
人工智能·gpt
DuHz28 分钟前
论文精读:大语言模型 (Large Language Models, LLM) —— 一项调查
论文阅读·人工智能·深度学习·算法·机器学习·计算机视觉·语言模型
AI木马人35 分钟前
9.【AI任务队列实战】如何在高并发下保证系统不崩?(Redis + Celery完整方案)
数据库·人工智能·redis·神经网络·缓存
是烟花哈40 分钟前
【前端】React框架学习
前端·学习·react.js
陈天伟教授42 分钟前
GPT Image 2-桂林山水
人工智能·神经网络·安全·架构
檀越剑指大厂43 分钟前
32 万星的面试学习计划 + 内网穿透工具,程序员面试准备效率翻倍!
学习·面试·职场和发展
offer收割机小鹅1 小时前
大学生求职必备:AI面试、AI写作与设计工具助力职场发展
人工智能·ai·面试·aigc·ai写作
乔江seven1 小时前
【李沐 | 动手学深度学习】20 计算机视觉:数据增广(Data Augmentation)
人工智能·深度学习
冬奇Lab1 小时前
Claude Code 接入 SonarQube 静态扫描:AI 写代码,质量闭环了
人工智能·ai编程·claude
冬奇Lab2 小时前
一天一个开源项目(第84篇):free-claude-code —— 零费用运行 Claude Code 的代理黑魔法
人工智能·开源·claude