昇思MindSpore学习入门-参数初始化

ops/2024/10/18 8:22:54/

使用内置参数初始化

MindSpore提供了多种网络参数初始化的方式,并在部分算子中封装了参数初始化的功能。本节以Conv2d为例,分别介绍如何使用Initializer子类,字符串进行参数初始化。

Initializer初始化

Initializer是MindSpore内置的参数初始化基类,所有内置参数初始化方法均继承该类。mindspore.nn中提供的神经网络层封装均提供weight_init、bias_init等入参,可以直接使用实例化的Initializer进行参数初始化。样例如下:

import numpy as np

import mindspore.nn as nn

import mindspore as ms

from mindspore.common.initializer import Normal, initializer

input_data = ms.Tensor(np.ones([1, 3, 16, 50], dtype=np.float32))

# 卷积层,输入通道为3,输出通道为64,卷积核大小为3*3,权重参数使用正态分布生成的随机数

net = nn.Conv2d(3, 64, 3, weight_init=Normal(0.2))

# 网络输出

output = net(input_data)

字符串初始化

除使用实例化的Initializer外,MindSpore也提供了参数初始化简易方法,即使用参数初始化方法名称的字符串。此方法使用Initializer的默认参数进行初始化。样例如下:

import numpy as np

import mindspore.nn as nn

import mindspore as ms

net = nn.Conv2d(3, 64, 3, weight_init='normal')

output = net(input_data)

自定义参数初始化

通常情况下,MindSpore提供的默认参数初始化可以满足常用神经网络层的初始化需求,在遇到需要自定义的参数初始化方法时,可以继承Initializer自定义参数初始化方法。下面以XavierNormal为例介绍自定义参数初始化方法:

Cell遍历初始化

除了使用weight_init, bias_init等mindspore.nn接口提供的入参外,我们也习惯于先构造完整神经网络,然后对weight、bias等参数进行统一管理。此时需要先构造网络并实例化,然后对Cell进行遍历,并对参数进行赋值。下面是一个简单的样例:


http://www.ppmy.cn/ops/56673.html

相关文章

零基础STM32单片机编程入门(八)定时器PWM输入实战含源码视频

文章目录 一.概要二.PWM输入框架图三.CubeMX配置一个PWM输入例程1.硬件准备2.创建工程3.调试 四.CubeMX工程源代码下载五.讲解视频链接地址六.小结 一.概要 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用单…

C++入门基础简述

文章目录 前言1、C首个程序2、namespace关键字3、C输入/输出4、缺省参数5、函数重载6、C中的引用7、const 引用8、指针和引用的关系9、inline关键字10、nullptr关键字 前言 此篇文章主要简述流程:C首个程序 -> namespace关键字 -> C输入/输出 -> 缺省参数 …

dg首次全量同步的几种方式

方式一: su - oracle sqlplus "/ as sysdba" SQL>select copy datafile ||||file_name|||| to ||||/oradata/dkwhdb_dg/||substr(file_name,instr(file_name,/,-1)1)||; from dba_data_files; rman target / RMAN>(将上述命令在该处运行) 方式…

102.qt qml-最全Table交互之多列固定、行列拖拽、自定义委托、标题交互使用教程

自定义实现的Table控件,支持跨qt版本,兼容qt5,qt6! 截图如下所示: 黑色风格如下所示: 视频演示入口:Qt QML QianWindowV2.5(新增曲线综合示例、QML最全Table交互示例、支持qt5/qt6)_哔哩哔哩_bilibili 1.示例页面入口…

Java面试八股之什么是布隆过滤器

什么是布隆过滤器 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否可能存在于一个集合中。布隆过滤器可以给出“可能存在”或“一定不存在”的答案,但不能保证“一定存在”。其主要特点是&…

阿里云人工智能平台PAI论文入选OSDI ‘24

近日,阿里云人工智能平台PAI的论文《Llumnix: Dynamic Scheduling for Large Language Model Serving》被OSDI 24录用。论文通过对大语言模型(LLM)推理请求的动态调度,大幅提升了推理服务质量和性价比。 Llumnix是业界首个能灵活在…

Web3学习路线图,从入门到精通

前面我们聊了Web3的知识图谱,内容是相当的翔实,要从哪里入手可以快速的入门Web3,本篇就带你看看Web3的学习路线图,一步一步深入学习Web3。 这张图展示了Web3学习路线图,涵盖了区块链基础知识、开发方向、应用开发等内…

使用Docker、Docker-compose部署单机版达梦数据库(DM8)

安装前准备 Linux Centos7安装:https://blog.csdn.net/andyLyysh/article/details/127248551?spm1001.2014.3001.5502 Docker、Docker-compose安装:https://blog.csdn.net/andyLyysh/article/details/126738190?spm1001.2014.3001.5502 下载DM8镜像 …