《昇思 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):
        # 测试循环的实现...
相关推荐
之歆3 分钟前
打造你的 AI 浏览器助手:从零到一的完整实践
人工智能
小陈工6 分钟前
Python Web开发入门(十一):RESTful API设计原则与最佳实践——让你的API既优雅又好用
开发语言·前端·人工智能·后端·python·安全·restful
humors22111 分钟前
AI工具合集,不定期更新
人工智能·windows·ai·工具·powershell·deepseek
做个文艺程序员14 分钟前
2026 年开源大模型选型指南:Qwen3.5 / DeepSeek V3.2 / Llama 4 横向对比
人工智能·开源·llama
AI成长日志16 分钟前
【算法学习专栏】动态规划基础·中等两题精讲(198.打家劫舍、322.零钱兑换)
学习·算法·动态规划
LabVIEW开发17 分钟前
LabVIEW控制阀性能测试评估系统
人工智能·labview·labview知识·labview功能·labview程序
测试_AI_一辰19 分钟前
AI 如何参与 Playwright 自动化维护:一次自动修复闭环实践
人工智能·算法·ai·自动化·ai编程
chenglin01619 分钟前
AI服务的可观测性与运维
运维·人工智能
小超同学你好20 分钟前
面向 LLM 的程序设计 4:API 版本化与演进——在「模型会记忆旧文档」前提下的兼容策略
人工智能·语言模型
guslegend20 分钟前
系统整体设计方案
人工智能·大模型·知识图谱