昇思25天学习打卡营第06天|网络构建

神经网络基础

神经网络是一种模拟人脑神经元工作方式的计算模型,它由多个层次的节点(神经元)组成,每个神经元接收输入、进行加权求和并经过非线性激活函数转换后输出到下一层或作为最终输出。

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

import mindspore
from mindspore import nn, ops
import time

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="zeros"),
            nn.ReLU(),
            nn.Dense(512, 10, weight_init="normal", bias_init="zeros")
        )

    def construct(self, x):
        x = self.flatten(x)
        logits = self.dense_relu_sequential(x)
        return logits
    
model = Network()
print(model)

X = ops.ones((1, 28, 28), mindspore.float32)
logits = model(X)
# print logits
logits

pred_probab = nn.Softmax(axis=1)(logits)
y_pred = pred_probab.argmax(1)
print(f"Predicted class: {y_pred}")

input_image = ops.ones((3, 28, 28), mindspore.float32)
print(input_image.shape)

flatten = nn.Flatten()
flat_image = flatten(input_image)
print(flat_image.shape)

layer1 = nn.Dense(in_channels=28*28, out_channels=20)
hidden1 = layer1(flat_image)
print(hidden1.shape)

print(f"Before ReLU: {hidden1}\n\n")
hidden1 = nn.ReLU()(hidden1)
print(f"After ReLU: {hidden1}")

seq_modules = nn.SequentialCell(
    flatten,
    layer1,
    nn.ReLU(),
    nn.Dense(20, 10)
)

logits = seq_modules(input_image)
print(logits.shape)

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")


print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),'skywp')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PHP商家来客宝小程序系统客户打卡赢霸王餐美食之旅嗨翻天

🎉商家来客宝大放送!🍽️ 🔥开篇福利预警! 嘿宝贝们,今天要给你们揭秘一个超级劲爆的吃货福利——“商家来客宝客户打卡吃霸王餐”活动!🎉 是不是已经听到肚子咕咕叫了呢&#xff…

类和对象(提高)

类和对象(提高) 1、定义一个类 关键字class 6 class Data1 7 { 8 //类中 默认为私有 9 private: 10 int a;//不要给类中成员 初始化 11 protected://保护 12 int b; 13 public://公共 14 int c; 15 //在类的内部 不存在权限之分 16 void showData(void)…

Django + Vue 实现图片上传功能的全流程配置与详细操作指南

文章目录 前言图片上传步骤1. urls 配置2. settings 配置3. models 配置4. 安装Pillow 前言 在现代Web应用中,图片上传是一个常见且重要的功能。Django作为强大的Python Web框架,结合Vue.js这样的现代前端框架,能够高效地实现这一功能。本文将…

GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表

Prism软件作为一款功能强大的生物医学数据分析与可视化工具,其绘图功能尤为突出。该软件不仅支持绘制基础的图表类型,如直观明了的柱状图、展示数据分布的散点图,以及描绘变化趋势的曲线图,更能应对复杂的数据呈现需求&#xff0c…

【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden 一、分析问题背景 在使用Python的urllib库中的urlopen或urlretrieve函数下载文件时,有时会遇到…

指哪打哪,重绘神器!我已出手…

最近AI界又爆出了一个大新闻,阿里巴巴、香港大学和蚂蚁集团的研究人员联合推出了一款超厉害的AI工具——MimicBrush,它的问世,无疑给图像编辑领域带来了一场革命,它就像魔法师手中的魔杖,轻轻一挥,就能让图…

C# Web控件与数据感应之属性统一设置

目录 关于属性统一设置 准备数据源 范例运行环境 AttributeInducingFieldName 方法 设计与实现 如何根据 ID 查找控件 FindControlEx 方法 调用示例 小结 关于属性统一设置 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互&…

高编:线程(2)——同步与互斥

一、互斥 概念: 互斥 》在多线程中对 临界资源 的 排他性访问。 互斥机制 》互斥锁 》保证临界资源的访问控制。 pthread_mutex_t mutex; 互斥锁类型 互斥锁变量 内核对象 框架: 定义互斥锁 》初始化锁 》加锁 》解锁 》销…

vite+vue集成cesium

1、创建项目、选择框架vuejs pnpm create vite demo_cesium 2、进入项目安装依赖 cd demo_cesium pnpm install3、安装cesium及插件 3、pnpm i cesium vite-plugin-cesium 4、修改vite-config.js import { defineConfig } from vite import vue from vitejs/plugin-vue impo…

Github忘记了Two-factor Authentication code

意外重置了edge浏览器 码农家园github自从开启开启了2FA认证,每次输入auth code确实麻烦,于是下载了浏览器插件 Open two factor authenticator, 最近edge频繁宕机,而且提示磁盘空间不足,要不要立即清理并重置浏览器临…

TS_开发一个项目

目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…

单片机软件架构连载(2)-指针

我工作了10年,大大小小做过几十个项目,用指针解决过很多实际产品的痛点,比如写过小系统,数据结构(队列,链表),模块化编程等等..... 今天贴近实际,给大家总结了c语言指针常用的知识点&#xff0c…

用可视化的方式学统计学

本次分享一个统计学学习工具:看见统计。 看见统计致力于用数据可视化 (使用D3.js完成) 让统计概念更容易理解,源于布朗大学几位作者👇 看见统计共有6个章节, 下面来看看具体内容, 中心极限定理 对于一个(性质比较好的)分布,如果我们有足够大的独立同分布的样本,其…

【C语言】刷题笔记 Day1

多刷题 多思考 【题目1】 实现字母的大小写转换,实现多组输入输出 1. getchar 为输入函数,EOF(end of file)为文件结束标志,通常为文件结束的末尾。 2. 题目中要求实现多组输入输出,那我们用 while 循…

学习无人机飞行技术,有哪些就业方向?

随着无人机技术的不断进步和应用领域的拓展,研发创新人才的需求也将不断增加,那就业前景还是很广阔的。学习无人机飞行技术后,有以下多个就业方向可供选择: 1. 无人机操作员: - 负责操控和监控无人机飞行,…

支持混合模型的项目管理系统有哪些?PingCode 混合模型上线

众所周知,敏捷和瀑布是国内外研发项目管理的主流方法。然而,面对复杂性高、规模大、需要创新的项目,单一采用敏捷或瀑布方法往往难以完全满足需求。所以,国内许多企业趋向于结合多种管理模型的优势,形成一种混合管理模…

第一后裔掉宝奖励有什么 怎么领取第一后裔掉宝奖励

第一后裔在今天就要正式上线了,虽然是一款刚刚上线的新游戏,但是其实很早就测试过了,而且测试过很多次,所以有很多已经体验过的小伙伴,这款游戏的玩法还是比较有意思的,第三人称刷宝射击加上MMORPG的玩法&a…

力扣 用队列实现栈(Java)

核心思想:因为队列都是一端进入另一端出(先进先出,后进后出),因此一个队列肯定是不能实现栈的功能的,这里就创建两个队列来模拟栈的先进后出,后进先出。 比如说如果是push操作我们肯定是要弹出栈…

自动编码器简单理解及简单使用描述

1. 什么是自动编码器? 自动编码器分为编码器和解码器,其中解码器只在训练阶段用到。具体过程就是: 首先,输入训练样本,编码器对输入样本进行编码,对其进行降维,直到到达某个瓶颈层&#xff1b…

软件开发案例参考

前言:基于平台现有需求进行新功能模块开发与实现,以下内容为部分源码解析,仅提供一些思路参考,不予以客观指导,毕竟条条大路通罗马嘛; 语言:C# 工具:visual studio 2017/visual st…