《昇思25天学习打卡营第2天 | 张量 Tensor》

news2024/11/20 22:40:28

《昇思25天学习打卡营第2天 | 张量 Tensor》

《昇思25天学习打卡营第2天 | 张量 Tensor》

  • 《昇思25天学习打卡营第2天 | 张量 Tensor》
    • 什么是张量(Tensor)
      • 张量的创建方式
        • 根据数据直接生成
        • 从NumPy数组生成
        • 使用init初始化器构造张量
        • 继承另一个张量的属性,形成新的张量
      • 张量的属性

什么是张量(Tensor)

张量(Tensor)是一个多维数组或矩阵的概念,它是向量和矩阵的推广。

在数学和物理学中,张量是一个具有多个分量的量,这些分量之间的关系可以通过一组坐标变换来描述。
在计算机科学和工程领域,特别是在机器学习和深度学习中,张量通常指的是多维数组,它是数据的基本表示形式。
在 MindSpore 网络运算中张量(Tensor)是基本的数据结构。张量是一种特殊的数据结构,与数组和矩阵非常相似。

张量的创建方式

根据数据直接生成

可以根据数据创建张量,数据类型可以设置或者通过框架自动推断。

data = [1, 0, 1, 0]
x_data = Tensor(data)
print(x_data, x_data.shape, x_data.dtype)

[1 0 1 0] (4,) Int64

从NumPy数组生成

可以从NumPy数组创建张量。

np_array = np.array(data)
x_np = Tensor(np_array)
print(x_np, x_np.shape, x_np.dtype)

[1 0 1 0] (4,) Int64

使用init初始化器构造张量

当使用init初始化器对张量进行初始化时,支持传入的参数有init、shape、dtype。

  • init: 支持传入initializer的子类。如:下方示例中的 One() 和 Normal()。

  • shape: 支持传入 list、tuple、 int。

  • dtype: 支持传入mindspore.dtype。

from mindspore.common.initializer import One, Normal

# Initialize a tensor with ones
# init主要用于并行模式下的延后初始化,在正常情况下不建议使用init对参数进行初始化。
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())

print("tensor1:\n", tensor1)
print("tensor2:\n", tensor2)

tensor1:
[[1. 1.]
[1. 1.]]
tensor2:
[[ 0.01183298 0.00573333]
[ 0.01764924 -0.00527418]]

在这里插入图片描述

继承另一个张量的属性,形成新的张量
from mindspore import ops

x_ones = ops.ones_like(x_data)
print(f"Ones Tensor: \n {x_ones} \n")

x_zeros = ops.zeros_like(x_data)
print(f"Zeros Tensor: \n {x_zeros} \n")

Ones Tensor:
[1 1 1 1]
Zeros Tensor:
[0 0 0 0]

张量的属性

张量的属性包括形状、数据类型、转置张量、单个元素大小、占用字节数量、维数、元素个数和每一维步长。

  • 形状(shape):Tensor的shape,是一个tuple。
  • 数据类型(dtype):Tensor的dtype,是MindSpore的一个数据类型。
  • 单个元素大小(itemsize): Tensor中每一个元素占用字节数,是一个整数。
  • 占用字节数量(nbytes): Tensor占用的总字节数,是一个整数。
  • 维数(ndim): Tensor的秩,也就是len(tensor.shape),是一个整数。
  • 元素个数(size): Tensor中所有元素的个数,是一个整数。
  • 每一维步长(strides): Tensor每一维所需要的字节数,是一个tuple。
x = Tensor(np.array([[1, 2], [3, 4]]), mindspore.int32)

print("x_shape:", x.shape)
print("x_dtype:", x.dtype)
print("x_itemsize:", x.itemsize)
print("x_nbytes:", x.nbytes)
print("x_ndim:", x.ndim)
print("x_size:", x.size)
print("x_strides:", x.strides)

x_shape: (2, 2)
x_dtype: Int32
x_itemsize: 4
x_nbytes: 16
x_ndim: 2
x_size: 4
x_strides: (8, 4)

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

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

相关文章

OVS:standalone模式下测试添加tag之后的vlan隔离

目录 1.新建一个ovs交换机 2.创建两个端口,分别配置tag2000和tag2001 3.为网桥德默认internal端口配置IP地址 4.创建两个ns 5.对两个ns进行手动的网络配置 6.再端口处于不通tag时检测两个ns之间的连通性结果为不通-ping--fail 7.将两个端口p1,p2 的tag设成一致…

office宏绕过杀软诱导点击实现主机控制

绕过防病毒扫描已经成为 BHIS(Black Hills Information Security)的一项运动。当我们为客户进行指挥控制(C2)测试时,我们从内部网络上的主机开始,创建一个反向连接到我们的C2服务器。然后,我们继…

Mysql中varchar类型数字排序不对踩坑记录

场景 在进行表设计时将版本号字段设计了为varchar类型,尽量从表设计阶段将数字类型列设计为int型。 再进行排序时如果版本号累计到了10及以上,那么再进行排序时则会出现问题。 比如下面执行排序时发现10被排在了第一位。 这是因为 varchar类型对数字…

Lua流媒体服务器支持(MP4视频、桌面直播、摄像头)

本来在做FFMPEG的项目,忽然想到Lua封装FFMPEG与SRS实现一个简易的直播网站何尝不是一个大胆的想法。 示例为初级版本,主要是用来验证可行性和功能性DEMO 演示效果: Lua流媒体直播服务器(支持MP4、桌面直播、摄像头)_哔哩哔哩_bilibili 代码简…

①分析胃癌组蛋白脱乙酰酶HDS模型-配对转录组差异

目录 HDS评分构建 ①数据加载 ②评分计算 做样本及评分展示图 ①数据处理 ②进行作图 分析配对的单细胞及转录组胃癌数据的 HDS评分,数据源于gastric-cancer - GitCode①胃癌单细胞和配对转录组揭示胃肿瘤微环境(文献和数据)_代码笔记:处理迄今为止最大的单细胞胃癌数…

【漏洞复现】通天星CMSV6——sql注入漏洞

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 通天星CMSV6小于7.33.0.7版本存在接口pointManage存在注入漏洞&…

2023年SWPU NSS 秋季招新赛 (校外赛道)-没做出来的writeup

web 学习一下:[SWPUCTF 2023 秋季新生赛]——Web方向 详细Writeup-CSDN博客 查查need 看这个大佬的手工注入,nb呀 文章列表 | NSSCTF 其实也是可以使用sqlmap一把梭哈! 看了教程:SQLmap使用教程图文教程(非常详细…

H2RSVLM:引领遥感视觉语言模型的革命

随着人工智能技术的飞速发展,遥感图像理解在环境监测、气候变化、粮食安全和灾害预警等多个领域扮演着越来越重要的角色。然而,现有的通用视觉语言模型(VLMs)在处理遥感图像时仍面临挑战,主要因为遥感图像的独特性和当…

优选算法2

五、位运算 常见位运算总结 &:有0就是0; |:有1就是1 ^:相同为0,相异就是1/无进位相加 给定一个数n,确定它的二进制表示中的第x位是0还是1:二进制中权值最小的是第0位,所以int整型是从第0位到…

Android app Java层异常捕获方案

背景: 在Android app运行中,有时一些无关紧要的异常出现时希望App 不崩溃,能继续让用户操作,可以有效提升用户体验和增加业务价值。 新流程: 哪些场景需要Catch Crash Config配置信息: 支持从网络上获…

MySQL 5.7.42 主从复制环境搭建

MySQL 5.7.42 主从复制环境搭建 下载MySQL二进制包操作系统环境配置安装过程搭建从库 本次安装环境: OS版本:Red Hat Enterprise Linux Server release 6.8 (Santiago) MySQL版本:5.7.42 架构:同一台机器,多实例安装搭…

国标GB28181视频汇聚平台EasyCVR安防监控系统常见播放问题分析及解决方法

国标GB28181安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。平台支持多协议接入,包括:国标GB/T 28181协议、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视…

【工具测评】ONLYOFFICE8.1版本桌面编辑器测评:好用!

随着远程工作的普及和数字化办公的发展,越来越多的人开始寻找功能强大、易于使用的办公软件。在这个背景下,ONLYOFFICE 8.1应运而生,成为许多用户的新选择。ONLYOFFICE 8.1是一款办公套件软件,提供文档处理、电子表格和幻灯片制作…

【node】深入探讨 class URL

【node】深入探讨 class URL 📌 浅说 fileURLToPath() 在vite.config.ts中有这么一段代码: import { fileURLToPath, URL } from node:url import { defineConfig } from vite export default defineConfig({resolve: {alias: {: fileURLToPath(new U…

python学习笔记四

1.自己平方本身 x2 x**4#xx**4 print(x) 2.把一个多位数拆分成单个数,方法一通过字符串下标获取对应元素,并对获取的元素使用eval函数把左右引号去掉,是字符串变为整型;方法二,通过对数进行取余和整除得到各个位的数 …

RK3568平台开发系列讲解(I2C篇)利用逻辑分析仪进行I2C总线的全面分析

🚀返回专栏总目录 文章目录 1. 基础协议1.1. 协议简介1.2. 物理信号1.3. 总线连接沉淀、分享、成长,让自己和他人都能有所收获!😄 1. 基础协议 1.1. 协议简介 IIC-BUS(Inter-IntegratedCircuit Bus)最早是由PHilip半导体(现在被NXP收购)于1982年开发。 主要是用来方…

安卓应用开发学习:获取导航卫星信息

一、引言 我昨天写了《安卓应用开发学习:获取经纬度及地理位置描述信息》日志,今天再接再厉,记录一下跟着《Android App 开发进阶与项目实战》一书,实现获取导航卫星信息,并在手机上显示的功能的情况。先上实现后的在…

go语言day2 配置

使用cmd 中的 go install ; go build 命令出现 go cannot find main module 错误怎么解决? go学习-问题记录(开发环境)go: cannot find main module; see ‘go help modules‘_go: no flags specified (see go help mod edit)-CSDN博客 在本…

FPGA学习笔记(6)——硬件调试与网表添加探针

对信号进行分析,除了使用内置的ILA IP核,还可以在网表中添加探针。 本节采用之前配置的LED灯闪烁代码,对原始工程进行修改。 如果是新建工程,需要现将代码进行综合Synthesis,然后再进行接下来的操作。 1、点击Open S…

链表数组遍历输出的辨析(二者都含指针的情况下)----PTA期末复习题

输入输出三位学生的学号和信息 一开始我认为是指针,直接背了指针输出的方式;p;p!NULL;pp->next 这个是错误的 下面这个输出是正确的方式 分析怎么区分这两个 举个例子来 数组遍历: 链表遍历: 输出的结果: 如果将…