昇思25天学习打卡营第03天 | 张量 Tensor

昇思25天学习打卡营第03天 | 张量 Tensor

文章目录

  • 昇思25天学习打卡营第03天 | 张量 Tensor
    • 张量
    • 张量的创建
    • 张量的属性
    • Tensor与NumPy转换
    • 稀疏张量
      • CSRTensor
      • COOTensor
    • 总结
    • 打卡

张量

张量(Tensor)是一种类似于数组和矩阵的特殊数据结构,是神经网络中参与运算的基本结构。
对于 n n n维空间中的一个张量,其具有 n r n^r nr个坐标分量,其中 r r r被称为该张量的秩或阶。

张量的创建

  • 从列表创建
data = [1, 0, 1, 0]
x_data = Tensor(data)
  • 从NumPy数组创建
np_array = np.array(data)
x_np = Tensor(np_array)
  • 使用init初始化器创建,需要传入三个参数,主要用于并行模式下的延后初始化。
    • init:支持initializer的子类,如One()Normal()
    • shape:支持listtupleint
    • dtype:支持mindspore.dtype
tensor1 = mindspore.Tensor(shape=(2, 2), dtype=mindspore.float32, init=One())# Initialize a tensor from normal distribution
tensor2 = mindspore.Tensor(shape=(2, 2), dtype = mindspore.float32, init=Normal())
  • 从一个张量创建新的张量
from mindspore import opsx_ones = ops.ones_like(x_data)		# [1 1 1 1]
x_zeros = ops.zeros_like(x_data)	# [0 0 0 0]

张量的属性

MindSpore中一个张量具有下面的属性:

  • shape
  • dtype
  • itemsize:单个元素所占的字节大小
  • nbytes:Tensor所占的总字节数
  • ndim:Tensor的秩
  • size:Tensor中元素的个数
  • strides:Tensor每一维所需要的字节数

Tensor与NumPy转换

  • 使用Tensor.asnumpy()将Tensor转换为Numpy数组。
  • 使用Tensor.from_numpy()将numpy数组转换为Tensor

稀疏张量

在很多场景中,张量中只有少量的非零元素,如果用普通张量进行存储,会引入大量不必要的开销,这时就可以使用稀疏张量来表示。

MindSpore中定了了三种稀疏张量结构:CSRTensorCOOTensorRowTensor

CSRTensor

CSR (Compressed Sparse Row) Tensor 具有高效的存储和计算优势。

  • indptr:一维整数张量,表示非零元素在values中的起始位置和结束位置;
  • indices:一维整数张量,表示非零元素在列中的位置,与values长度相等;
  • values:一维张量,表示非零元素;
  • shape:表示被压缩的张量的形状。
indptr = Tensor([0, 1, 2])
indices = Tensor([0, 1])
values = Tensor([1, 2], dtype=mindspore.float32)
shape = (2, 4)# Make a CSRTensor
csr_tensor = CSRTensor(indptr, indices, values, shape)

上述代码对应的Tensor为:
[ 1 0 0 0 0 2 0 0 ] \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \end{bmatrix} [10020000]

COOTensor

COO (Coordinate Format) Tensor用来表示给定索引上非零元素的集合,其参数为:

  • indices:二维证书张量,每行代表非零元素的下标。
  • values:一维张量,表示非零元素值。
  • shape:表示被压缩的稀疏张量的形状。
indices = Tensor([[0, 1], [1, 2]], dtype=mindspore.int32)
values = Tensor([1, 2], dtype=mindspore.float32)
shape = (3, 4)# Make a COOTensor
coo_tensor = COOTensor(indices, values, shape)

总结

这一节内容对MindSpore框架中的Tensor进行了较为详细的介绍,包括Tensor的创建、Tensor的索引和简单运算、与NumPy数组之间的转换。此外,还介绍了稀疏矩阵的两种表示方法和创建方法,为之后对张量的操作建立了初步的认识。

打卡

在这里插入图片描述

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

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

相关文章

MATLAB|更改绘图窗口的大小和位置

MATLAB绘图 plot、plot3、cdfplot都适用 效果 如下图,运行程序后可以直接得到这两个绘图窗口。 右上角的Figure1是原始图片,右下角的Figure2是调整了位置和大小后的绘图窗口。 完整源代码 % 绘图大小和位置调整 % Evand©2024 % 2024-7-1/Ver1…

Transformer模型原理细节解析

基本原理: Transformer 的核心概念是 自注意力机制(Self-Attention Mechanism),它允许模型在处理每个输入时“关注”输入序列的不同部分。这种机制让模型能够理解每个单词或符号与其他单词或符号之间的关系,而不是逐个地线性处理输入。 Transformer 主要由两个部分组成:…

手把手教你搭建PyTorch环境:MindStudio中PyTorch模型开发实战

本次实验的视频链接如下:​https://www.bilibili.com/video/BV1iA4y1f7o1/ 本次实验在MindStudio上进行,请先按照 教程 配置环境,安装MindStudio。 ​ MindStudio的是一套基于华为自研昇腾AI处理器开发的AI全栈开发工具平台,该IDE上功能很多…

ESOP 系统助力电子设备公司的管理模式升级

在科技飞速发展的时代,电子设备行业竞争愈发激烈,企业要想在市场中立足并持续发展,不断升级管理模式成为关键。ESOP系统的引入,为电子设备公司带来了全新的机遇,有力地推动了管理模式的升级。 ESOP 系统首先为电子设备…

element el-table表格切换分页保留分页数据+限制多选数量

el-table表格并没有相关的方法来禁用表头里面的多选按钮 那么我们可以另辟蹊径&#xff0c;来实现相同的多选切换分页&#xff08;保留分页数据&#xff09; 限制多选数量的效果 <el-table:data"tableData"style"width: 100%">// 不使用el-talbe自带…

农村程序员陈随易2024年中总结

今天是 2024年7月1日&#xff0c;时间如白驹过隙&#xff0c;今年已去其一半。 总结一下今年上半年的情况&#xff0c;给大家提供一些参考和建议。 希望大家关注一下公众号 陈随易&#xff0c;有些内容只在公众号发表。 先看看我的年初计划&#xff0c;这个在今年年初的时候&…

泛微E9开发 限制明细表列的值重复

限制明细表列的值重复 1、需求说明2、实现方法3、扩展知识点3.1 修改单个字段值&#xff08;不支持附件类型&#xff09;3.1.1 格式3.1.2 参数3.1.3 案例 3.2 获取明细行所有行标示3.2.1 格式3.2.2 参数说明 1、需求说明 限制明细表的“类型”字段&#xff0c;在同一个流程表单…

【全网首发】双字重叠语序验证码识别

【省流&#xff1a;打算直接测试效果的可以访问这个网址】 http://decaptcha.ai?project_namenetease_zh_overlap 【实现方案】 如图所示&#xff0c;我们能看到&#xff0c;比起以往的“单个字”语序点选&#xff0c;这个验证码的难点在于“重叠汉字“&#xff0c;我们知道…

【Python机器学习】模型评估与改进——简单的网格搜索

为了提升模型的泛化性能&#xff0c;我们可以通过调参来实现。 在尝试调参之前&#xff0c;重要的是理解参数的含义&#xff0c;找到一个模型的重要参数&#xff08;提供最佳泛化性能的参数&#xff09;的取值是一项棘手的任务&#xff0c;但对于几乎所有模型和数据集来说都是…

API-Window对象

学习目标&#xff1a; 掌握Window对象 学习内容&#xff1a; BOM&#xff08;浏览器对象模型&#xff09;定时器-延时函数JS执行机制location对象navigation对象history对象 BOM&#xff08;浏览器对象模型&#xff09;&#xff1a; BOM是浏览器对象模型。 window对象是一个全…

Windows 11的市场份额越来越大了,推荐你升级!

7月1日&#xff0c;系统之家发布最新数据&#xff0c;显示Windows 11操作系统的市场份额正在稳步上升。自2021年10月Windows 11发布以来&#xff0c;Windows 10一直占据着市场主导地位&#xff0c;当时其市场份额高达81.44%。然而&#xff0c;随着时间的推移&#xff0c;Window…

鸿蒙学习1:ArkTS基础入门

1 变量和常量 1.1 变量 常见的基础数据类型&#xff1a; string 字符串、number 数字、boolean布尔 判断。 变量&#xff1a;专门用来存储数据的容器。 语法&#xff1a;let 变量名: 数据类型 值。例如&#xff1a;let name: 张三;let price:number 12.4; let isSuccess …

昂科烧录器支持BPS晶丰明源半导体的多相Buck控制器BPD93004E

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中BPS晶丰明源半导体的多相Buck控制器BPD93004E已经被昂科的通用烧录平台AP8000所支持。 BPD93004E是一款多相Buck控制器&#xff0c;支持原生1~4相&#xff0c;数字方式控制&am…

科普文:一文搞懂jvm原理(二)类加载器

概叙 科普文&#xff1a;一文搞懂jvm(一)jvm概叙-CSDN博客 前面我们介绍了jvm&#xff0c;jvm主要包括两个子系统和两个组件&#xff1a; Class loader(类装载器) 子系统&#xff0c;Execution engine(执行引擎) 子系统&#xff1b;Runtime data area (运行时数据区域)组件&am…

学习笔记(linux高级编程)9

void pthread_cleanup_push(void (*routine)(void *)&#xff0c; void *arg); 功能&#xff1a;注册一个线程清理函数 参数&#xff0c;routine&#xff0c;线程清理函数的入口 arg&#xff0c;清理函数的参数。 返回值&#xff0c;无 void pthread_cleanup_pop(int execute)…

Perl语言入门指南

一、绪论 1.1 Perl语言概述 1.2 Perl的特色 1.3 Perl面临的问题 1.4 Perl语言的应用领域 二、Perl语言基础 2.1 Perl语言的历史发展 2.2 Perl语言的基本语法 2.3 Perl语言的数据类型 三、Perl语言控制结构 3.1 条件语句 3.2 循环结构 3.3 函数和子程序 四、Perl语…

OpenStack开源虚拟化平台(一)

目录 一、OpenStack背景介绍&#xff08;一&#xff09;OpenStack是什么&#xff08;二&#xff09;OpenStack的主要服务 二、计算服务Nova&#xff08;一&#xff09;Nova组件介绍&#xff08;二&#xff09;Libvirt简介&#xff08;三&#xff09;Nova中的RabbitMQ解析 OpenS…

MySQL-数据操作类型的角度理解 S锁 X锁

文章目录 1、S锁和S锁互相兼容2、S锁和X锁互斥3、X锁和X锁也互斥4、X锁和S锁也互斥5、select * from account for update;6、select * from account for update nowait;7、select * from account for update skip locked; 1、S锁和S锁互相兼容 2、S锁和X锁互斥 3、X锁和X锁也互…

20240702 每日AI必读资讯

&#x1f50d;GPTPdf&#xff1a;使用类似GPT-4o的多模态LLM分析PDF文件 - 使用类似 GPT-4o 多模态模型解析 PDF 文件&#xff0c;转换为 Markdown 格式。 - 代码简洁高效&#xff0c;仅293行。 - 解析结果几乎完美包括排版、数学公式、表格、图片、图表等内容。 &#x1…

【记录】IDEA2023的激活与安装

前言&#xff1a; 记录IDEA2023的激活与安装 第一步&#xff1a;官网下载安装包&#xff1a; 下载地址&#xff1a;https://www.jetbrains.com/idea/download/other.html 这个最好选择2023版本&#xff0c;用着很nice。 安装步骤就不详解了&#xff0c;无脑下一步就可以了…