《昇思 25 天学习打卡营第 5天 | 网络构建 》

《昇思 25 天学习打卡营第 5天 | 网络构建 》

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


网络构建

概念:

神经网络模型是由神经网络层和 Tensor 操作构成的,mindspore.nn 提供了常见神经网络层的实现,在 MindSpore 中,Cell 类是构建所有网络的基类,也是网络的基本单元。一个神经网络模型表示为一个 Cell,它由不同的子 Cell 构成。使用这样的嵌套结构,可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理。

课程的解释如上, 我自己理解一下:

在 MindSpore 框架中,构建神经网络模型是创建和定义深度学习模型的过程。这些模型用于各种机器学习和人工智能任务,包括但不限于图像识别、自然语言处理、时间序列预测等。

关键目的和功能:

  • 神经网络通过学习数据的表示来进行预测或分类。
  • 提取输入数据的特征

同时构建神经网络模型是深度学习中的一个核心过程,MindSpore 提供了一套完整的工具和 API 来支持这个过程,

引入使用

import mindspore
from mindspore import nn, ops

定义模型类

class Network(nn.Cell):# 类Network继承自MindSpore的nn.Cell,用于构建神经网络模型def __init__(self):# 构造函数初始化网络层super().__init__()  # 调用基类的构造函数self.flatten = nn.Flatten()  # 实例化一个Flatten层,用于数据展平操作# 使用SequentialCell组织一系列按顺序执行的层self.dense_relu_sequential = nn.SequentialCell(nn.Dense(28*28, 512, weight_init="normal", bias_init="zeros"),  # 第一个全连接层,权重初始化为正态分布,偏置初始化为零nn.ReLU(),  # ReLU激活函数,引入非线性nn.Dense(512, 512, weight_init="normal", bias_init="zeros"),  # 第二个全连接层nn.ReLU(),  # 第二个ReLU激活函数nn.Dense(512, 10, weight_init="normal", bias_init="zeros")  # 第三个全连接层,输出维度为10)def construct(self, x):# 前向传播函数,定义数据通过网络的流程x = self.flatten(x)  # 将输入数据x展平为一维logits = self.dense_relu_sequential(x)  # 将展平后的数据通过SequentialCell中的层序列return logits  # 返回未经softmax转换的原始分类结果logits
实例化Network对象:
model = Network()

创建 Network 类的一个实例,这个实例包含了定义好的神经网络结构。

打印模型结构:
print(model)

输出模型的结构,展示了模型中的层和它们的配置。

模型结构输出解析:
Network<(flatten): Flatten<>(dense_relu_sequential): SequentialCell<(0): Dense<input_channels=784, output_channels=512, has_bias=True>(1): ReLU<>(2): Dense<input_channels=512, output_channels=512, has_bias=True>(3): ReLU<>(4): Dense<input_channels=512, output_channels=10, has_bias=True>>
>
  • Flatten<>:数据展平层,将输入数据展平为一维。
  • SequentialCell:顺序单元,包含一系列按顺序执行的层。
  • Dense:全连接层,包含输入通道数、输出通道数,以及是否有偏置项。
  • ReLU:激活层,使用ReLU激活函数。
创建输入数据:
X = ops.ones((1, 28, 28), mindspore.float32)

生成一个形状为 (1, 28, 28) 的全1张量,数据类型为 mindspore.float32,用作模型的输入。

模型前向传播获取原始预测值:
logits = model(X)

使用模型实例对输入数据 X 进行前向传播,获取原始的预测值 logits

原始预测值输出:
Tensor(shape=[1, 10], dtype=Float32, value=[
[-0.000508734, 0.00033919, 0.00046284, ..., -0.00120305, -0.00050569, 0.00039926]])

输出一个形状为 [1, 10] 的张量,包含了每个类别的原始预测值。

Softmax层获取预测概率:
pred_probab = nn.Softmax(axis=1)(logits)

使用 nn.Softmax 层对原始预测值 logits 应用 softmax 函数,获取每个类别的预测概率。

获取预测类别:
y_pred = pred_probab.argmax(1)

通过 argmax 函数沿指定轴(这里是轴1)找到最大值的索引,即预测的类别。

打印预测类别:
print(f"Predicted class: {y_pred}")

输出预测的类别。

预测类别输出:
```
Predicted class: [4]
```
最终输出预测的类别索引为4。

通过以上步骤,我们构建了一个简单的神经网络模型,实例化了模型对象,生成了输入数据,执行了前向传播,获取了原始预测值和预测概率,并最终确定了预测的类别。

这个过程展示了如何使用MindSpore框架进行基本的深度学习任务。


今天的网络构建就学到这些,有点难以理解,今天只能先了解概念,并走一遍简单的流程

千里之行,始于足下!

我会继续一步一步的保持学习,在 昇思社区 进行 AI 技术方面的探索和学习

希望能给同样对 AI 充满热情的你一些启发。记住,技术的世界无限广阔,让我们一起勇敢地迈出探索的脚步吧!🚀🤖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何应对 Android 面试官 -> MVVM 实战一个新闻客户端 (中)

前言 本章我们基于重构的方式进行一个 MVVM 的实战&#xff0c;我们将一个新闻列表的普通实现&#xff0c;一步一步的改造成 MVVM 的架构模式&#xff0c;一共分为上中下三个章节&#xff0c;本章继续上一章&#xff0c;开始中篇的讲解&#xff1b; 控件化 我们本章向控件化进…

区块链行业DDOS防护痛点在哪

区块链行业DDOS防护痛点在哪?随着区块链技术的迅猛发展&#xff0c;其应用场景已经从最初的数字货币扩展到了金融、供应链、物联网等多个领域。然而&#xff0c;随着区块链行业的快速崛起&#xff0c;其所面临的网络安全威胁也日益严重&#xff0c;尤其是DDoS&#xff08;分布…

2024年华东杯B题数学建模论文:基于车辆运动学转弯模型的自动驾驶规划问题

摘要 随着自动驾驶技术的发展&#xff0c;车辆转弯问题成为关键挑战。本文针对自动驾驶车辆在转弯过程中的数学建模、路径规划及避障策略进行了深入研究&#xff0c;旨在提升自动驾驶车辆的行驶安全性与效率。 针对问题1&#xff0c;对于四轮前轮驱动车辆的转弯问题&#xff0c…

【C++LeetCode】【热题100】两数相加【中等】-不同效率的题解【1】

题目&#xff1a; 暴力方法&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNo…

网络编程(九)本地通信(UNIX域套接字)

文章目录 一、概念二、本地通信使用的结构体三、TCP本地通信四、UDP本地通信 一、概念 二、本地通信使用的结构体 注&#xff1a; 三、TCP本地通信 服务器&#xff1a; 创建套接字 socket( ) 填充服务器本地信息结构体 sockaddr_un 将套接字与服务器本地信息结构体绑定 bin…

常见硬件工程师面试题(二)

大家好&#xff0c;我是山羊君Goat。 对于硬件工程师&#xff0c;学习的东西主要和电路硬件相关&#xff0c;所以在硬件工程师的面试中&#xff0c;对于经验是十分看重的&#xff0c;像PCB设计&#xff0c;电路设计原理&#xff0c;模拟电路&#xff0c;数字电路等等相关的知识…

ps基础入门

1.基础 1.1新建文件 1.2创建指定形状 1.4移动工具 1.41移动画布中的任意元素 1.42移动画布 1.43修改画布大小 1.44修改图像大小 1.5框选工具 1.6矩形工具 1.7图层 1.71图层颜色修改 1.72…

Spring事务介绍、Spring集成MyBatis

目录 1.Spring的事务1.1 什么是事务&#xff1f;1.2 事务的特性&#xff08;ACID&#xff09;1.3 Spring 事务实现方式有哪些&#xff1f;1.4 Spring事务管理接口介绍1.4.1 PlatformTransactionManager:事务管理接口1.4.2 TransactionDefinition:事务属性事务管理器接口1.4.3 T…

《昇思25天学习打卡营第1天|ghqt》

参与这个类活动&#xff0c;我会坚持完成它的。目前MindSpore文档里面的内容还看的不是很懂&#xff0c;希望自己在能不断进步。 第一天学到的内容—— 昇腾应用使能&#xff1a;华为各大产品线基于MindSpore提供的AI平台或服务能力MindSpore&#xff1a;支持端、边、云独立的…

HarmonyOS开发 弹窗组件

1.HarmonyOS开发 弹窗组件 弹窗是移动应用中常见的一种用户界面元素&#xff0c;常用于显示一些重要的信息、提示用户进行操作或收集用户输入。ArkTS提供了多种内置的弹窗供开发者使用&#xff0c;除此之外还支持自定义弹窗&#xff0c;来满足各种不同的需求。 1.1. 示例 1.…

魔行观察:深入理解Python中的列表推导式

在Python编程中&#xff0c;我们经常需要处理列表&#xff08;list&#xff09;。对于创建和操作这些数据结构&#xff0c;Python提供了很多强大的工具和语法糖&#xff0c;其中最引人注目的特性之一就是列表推导式&#xff08;List Comprehension&#xff09;。本文将深入探讨…

STM32G070休眠例程-STOP模式

一、简介 主控是STM32G070&#xff0c;在低功耗休眠模式时采用Stop0模式&#xff0c;通过外部中断唤醒&#xff0c;唤醒之后&#xff0c;即可开启对应的功能输出&#xff0c;另外程序中设计有看门狗8S溢出&#xff0c;这个采用RTC定时6S周期唤醒去喂狗&#xff0c;RTC唤醒喂狗的…

在线样机生成器,制作精美的电脑手机壁纸图片展示

在线样机生成器&#xff0c;可以制作精美的电脑手机壁纸图片展示。在线样机生成器支持不同的模型如浏览器、手机、笔记本电脑、手表等结合使用&#xff0c;帮助用户快速生成样机展示图片。下面小编就来和大家分享一款免费的在线样机生成器-壁纸样机生成器。 壁纸样机生成器是一…

观测云「可观测性解决方案」荣耀登入华为云官网

继成功上架华为云云商店联营商品后&#xff0c;「观测未来可观测性解决方案」已进一步正式登陆华为云官网&#xff0c;标志着双方合作的深化与拓展。这一全新上架的解决方案是观测云技术实力的集大成之作&#xff0c;为企业提供了一个全面升级的数字化监控观测服务。 观测云&am…

收藏!!!GESP等级考试,C++一到八级详细考察内容

以前大李并没有特别推荐过GESP等级考试&#xff0c;一是考到8级&#xff0c;经历的时间比较漫长&#xff0c;二是会经常出现考场事故。 但直接考CSP-J/S难度又特别大&#xff0c;十分打击考生信心&#xff0c;所以选择一个等级考试检验考生水平还是很有必要的。 现在GESP等级…

LeetCode 算法:二叉树的直径 c++

原题链接&#x1f517;&#xff1a;二叉树的直径 难度&#xff1a;简单⭐️ 题目 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由…

【后端】Nginx+lua+OpenResty高性能实践

文章目录 9. HTTPS安全认证9.1 证书9.2 证书获取方式9.3 自签证书-openssl工具9.4 Nginx配置HTTPS 10. websocket转发配置 【后端&网络&大数据&数据库目录贴】 9. HTTPS安全认证 http协议问题&#xff1a; 明文传输&#xff0c;有被第三方截取到数据信息的风险 &a…

人工智能前沿讲座——AIGC

目录 前情提要 一、什么是AIGC AIGC与传统的AI有何区别&#xff1f; 二、发展历程 GAN 生成对抗网络 大模型与Transformer Transformer\BERT\GPT 扩散模型和稳定扩散模型 三、AIGC的发展应用 新质生产力 前情提要 小学期某一门课的笔记&#xff0c;老师名字隐去&…

Java代码操作MySQL数据库——JDBC编程

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

NLP中两种不同的中文分词形式,jieba和spaCy

1. jieba分词 import jiebatext在中国古代文化中&#xff0c;书法和绘画是艺术的重要表现形式。古人常说&#xff0c;‘文字如其人’&#xff0c;通过墨迹可以窥见作者的性情和气质。而画家则以笔墨搏击&#xff0c;表现出山川河流、花鸟虫鱼的灵动。这些艺术形式不仅仅是技艺…