《昇思25天学习打卡营第5天 | mindspore 网络构建 Cell 常见用法》

1. 背景:

使用 mindspore 学习神经网络,打卡第五天;

2. 训练的内容:

使用 mindspore 的 nn.Cell 构建常见的网络使用方法;

3. 常见的用法小节:

支持一系列常用的 nn 的操作

3.1 nn.Cell 网络构建:

nn.Cell 基类的构建

 构建一个用于Mnist数据集分类的神经网络模型
import mindspore
from mindspore import nn, ops# 一个神经网络模型表示为一个Cell, 它由不同的子Cell构成。使用这样的嵌套结构,可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理
class Network(nn.Cell):def __init__(self):super().__init__()self.flatten = nn.Flatten()self.dense_relu_sequential = nn.SequentialCell(nn.Dense(28 * 28, 512, weight_init = "normal", bias_init = "zeros"),nn.ReLU(),nn.Dense(512, 512, weight_init="normal", bias_init="zero"),nn.ReLU(),nn.Dense(512, 10, weight_init="normal", bias_init="zeros"),)# model.construct()方法不可直接调用def construct(self, x):x = self.flatten(x)logits = self.dense_relu_sequential(x)return logits

3.2 常见 nn 的模块的使用

  • nn.Flatten() 将 2D Tensor 转换成连续数组
  • nn.Dense: 全连接层,其使用权重和偏差对输入进行线性变换
  • nn.ReLU层: 给网络中加入非线性的激活函数,帮助神经网络学习各种复杂的特征。
  • nn.Softmax: 神经网络最后一个全连接层返回的logits的值缩放为[0, 1],表示每个类别的预测概率
    nn.SequentialCell: 一个有序的Cell容器。输入Tensor将按照定义的顺序通过所有Cell。
# 分解介绍# 输入参数
input_image = ops.ones((3, 28, 28), mindspore.float32)
print(input_image.shape)# 将28x28的2D张量转换为784大小的连续数组
flatten = nn.Flatten()
flat_image = flatten(input_image)
print(flat_image.shape)# nn.Dense为全连接层,其使用权重和偏差对输入进行线性变换
layer1 = nn.Dense(in_channels=28*28, out_channels=20)
hidden1 = layer1(flat_image)
print(hidden1.shape)# nn.ReLU层给网络中加入非线性的激活函数,帮助神经网络学习各种复杂的特征。
print(f"Before ReLU: {hidden1}\n\n")
hidden1 = nn.ReLU()(hidden1)
print(f"After ReLU: {hidden1}")# nn.SequentialCell是一个有序的Cell容器。输入Tensor将按照定义的顺序通过所有Cell。我们可以使用nn.SequentialCell来快速组合构造一个神经网络模型。
seq_modules = nn.SequentialCell(flatten,layer1,nn.ReLU(),nn.Dense(20, 10)
)logits = seq_modules(input_image)
print(logits.shape)# 最后使用nn.Softmax将神经网络最后一个全连接层返回的logits的值缩放为[0, 1],表示每个类别的预测概率
softmax = nn.Softmax(axis=1)
pred_probab = softmax(logits)# 模型参数
print(f"Model structure: {model}\n\n")for name, param in model.parameters_and_names():print(f"Layer: {name}\nSize: {param.shape}\nValues : {param[:2]} \n")

活动参与链接:

https://xihe.mindspore.cn/events/mindspore-training-camp

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

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

相关文章

【FFmpeg】关键结构体的初始化和释放(AVFormatContext、AVIOContext等)

目录 1.AVFormatContext1.1 初始化(avformat_alloc_context)1.2 释放(avformat_free_context) 2.AVIOContext2.1 初始化(avio_alloc_context)2.2 释放(avio_context_free) 3. AVStre…

8.SQL注入-基于insert,update利用案例

SQL注入-基于insert/update利用案例 sql语句正常插入表中的数据 insert into member(username,pw,sex,phonenum,address,email) values(xiaoqiang,1111,1,2,3,4); select * from member;例如插入小强数据,如图所示: 采用or这个运算符,构造…

实测有效:Win11右键默认显示更多

Win11最大的变化之一莫过于右键菜单发生了变化,最大的问题是什么,是右键菜单很多时候需要点两次,实在是反人类 第一步 复制以下命令直接运行: reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905ba…

python_zabbix

zabbix官网地址:19. API19. APIhttps://www.zabbix.com/documentation/4.2/zh/manual/api 每个版本可以有些差异,选择目前的版本在查看对于的api接口#token接口代码 import requests apiurl "http://zabbix地址/api_jsonrpc.php" data {&quo…

web的学习和开发

这个使同步和异步的区别 今天主要就是学了一些前端,搞了一些前端的页面,之后准备学一下后端。 我写的这个项目使百度贴吧,还没有写er图。 先看一下主界面是什么样子的。 这个是主界面,将来后面的主要功能点基本上全部是放在这个上…

推动能源绿色低碳发展,风机巡检进入国产超高清+AI时代

全球绿色低碳能源数字转型发展正在进入一个重要窗口期。风电作为一种清洁能源,在碳中和过程中扮演重要角色,但风电场运维却是一件十足的“苦差事”。 传统的风机叶片人工巡检方式主要依靠巡检人员利用高倍望远镜检查、高空绕行下降目测检查(蜘蛛人)、叶…

STM32——Modbus协议

一、Modbus协议简介: 1.modbus介绍: Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域…

PythonConda系列(亲测有效):【解决方案】Collecting package metadata (current_repodata.json): failed

【解决方案】Collecting package metadata (current_repodata.json): failed 问题描述解决方案小结参考文献 问题描述 在cmd下运行:conda install pylint -y,报错如下: C:\Users\apr> conda install --name apr pylint -y Co…

PDF压缩工具选哪个?6款免费PDF压缩工具分享

PDF文件已经成为一种常见的文档格式。然而,PDF文件的体积有时可能非常庞大,尤其是在包含大量图像或复杂格式的情况下。选择一个高效的PDF压缩工具就显得尤为重要。小编今天给大家整理了2024年6款市面上反响不错的PDF压缩文件工具。轻松帮助你找到最适合自…

漆包线行业生产管理革新:万界星空科技MES系统解决方案

一、引言 在科技日新月异的今天,万界星空科技凭借其在智能制造领域的深厚积累,为漆包线行业量身打造了一套先进的生产管理执行系统(MES)解决方案。随着市场竞争的加剧,漆包线作为电气设备的核心材料,其生产…

React+TS前台项目实战(二十四)-- 绘制组件Qrcode封装

文章目录 前言Qrcode组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示(pc端 / 移动端) 总结 前言 今天要封装的Qrcode 组件,是通过传入的信息,绘制在二维码上,可用于很多场景,如区块链项目中的区块显示交易地址时就可以用到…

无人值守停车场管理系统具备哪些功能?无人值守收费停车场系统多少钱

随着城市化进程的加快,停车难已成为制约城市发展的一个突出问题。在传统停车场管理中,人工收费、车辆登记等环节不仅效率低下,而且容易出错。无人值守停车系统的出现,无人值守停车场系统以其高效、智能的特点,通过集成…

Meta 3D Gen:文生 3D 模型

是由 Meta 公布的一个利用 Meta AssetGen(模型生成)和 TextureGen(贴图材质生成)的组合 AI 系统,可以在分分钟内生成高质量 3D 模型和高分辨率贴图纹理。 视频演示的效果非常好,目前只有论文,期…

telegram mini app和game实现登录功能

接上一篇文章,我们在创建好telegram机器人后,开始开发小游戏或者mini App,那就避免不了登录功能。 公开链接 bot设置教程:https://lengmo714.top/6e79860b.html 参考教程参考教程,telegram已经给我们提供非常多的api,我们在获取用…

package.json配置详解

package.json文件 执行 npm init 命令,会在当前目录生成一个 package.json 文件 这个文档是你需要知道的关于你的 package.json 文件中需要什么的所有信息。它必须是实际的 JSON,而不仅仅是一个 JavaScript 对象文字。 //package.json {//如果你打算发…

使用vue动态给同一个a标签添加内容 并给a标签设置hover,悬浮文字变色,结果鼠标悬浮有的字上面不变色

如果Vue的虚拟DOM更新机制导致样式更新不及时,你可以尝试以下几种方法来解决这个问题: 确保使用响应式数据: 确保你使用的数据是响应式的,并且任何对这些数据的更改都会触发视图的更新。在Vue中,你应该使用data对象中的…

多源BFS——AcWing 173. 矩阵距离

多源BFS 定义 多源BFS(多源广度优先搜索)是一种图遍历算法,它是标准BFS(广度优先搜索)的扩展,主要用于解决具有多个起始节点的最短路径问题。在多源BFS中,不是从单一源点开始搜索整个图&#…

怎么把webp格式转换成jpg?5个图片格式转换方法全面解析(2024最新)

webp 图片常用于网站,可显著改善页面的浏览和加载体验。然而,许多设备(如苹果手机设备、安卓手机等)不支持webp文件。在这些设备上查看webp文件时,最佳做法是将其转换为其他常见格式,如jpg或 png。Windows电…

LeetCode 69. x 的平方根

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡&#xff0c;更多解法等你一起来参与哦&#xff01; LeetCode 69. x 的平方根 &#xff0c;难度简单。 暴力 解题思路&#xff1a;直接遍历平方 i&#xff0c; 判断 x 是否满足 i 2 ≤ x < ( i …

2024上海大学生程序设计竞赛I-六元组计数原根知识详解

以前基本没有了解原根相关的一块内容&#xff0c;最近正好碰到了这个题&#xff0c;于是写一篇博客记录一下。 这道题的总体思路就是比较明显&#xff0c;就是先算出 a p x a^px apx对于每个 x x x的解的个数&#xff0c;然后NTT算一下即可。 先来讲一下怎么求欧拉函数 ϕ ( …