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

文章目录

  • 前言:
  • 今日所学:
    • 1. 创建张量
    • 2. 张量的属性
    • 3.张量索引与运算
    • 4. NumPy与Tensor的转换
    • 5. 稀疏张量


前言:

张量?张亮?张量是什么?

张量是一个可以用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,张量作为一种特殊的数据结构,和数组和矩阵都有一定的相似性,是MindSpore网络运算中的基本数据结构。在本节当中主要介绍了张量以及稀疏张量的属性和用法。

今日所学:

1. 创建张量

其中第一部分讲述了创建张量,其包含了根据数据直接生成,从Numpy数组生成,使用init初始化器构造,继承另一个张量的属性,形成新的张量等方法来进行创建。
比如,直接由数据生成的方式如下:

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

结果如下:

在这里插入图片描述
使用init初始化器构造张量的方式如下代码:

from mindspore.common.initializer import One, Normal# Initialize a tensor with ones
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)

结果如下:

在这里插入图片描述

2. 张量的属性

第二个部分介绍了张量的属性,它的属性包括了形状、数据类型、转置张量、单个元素大小、占用字节数量、维数、元素个数和每一维步长等内容。
其属性事例如下:

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)

结果如下:

在这里插入图片描述

3.张量索引与运算

然后介绍了张量索引以及张量的运算,其中索引与Numpy索引类似。对于张量的运算。有许多包含了算术、线性代数、矩阵处理、采样等多种运算。
其中普通的运算代码事例如下:

x = Tensor(np.array([1, 2, 3]), mindspore.float32)
y = Tensor(np.array([4, 5, 6]), mindspore.float32)output_add = x + youtput_sub = x - youtput_mul = x * youtput_div = y / xoutput_mod = y % xoutput_floordiv = y // xprint("add:", output_add)print("sub:", output_sub)print("mul:", output_mul)print("div:", output_div)print("mod:", output_mod)print("floordiv:", output_floordiv)

结果如下:

在这里插入图片描述

4. NumPy与Tensor的转换

将Tensor变量转换为NumPy变量,可以使用使用 Tensor.asnumpy() 来转换;
将NumPy变量转换为Tensor变量,可以使用Tensor()来转换。

5. 稀疏张量

在本节还介绍了稀疏张量。稀疏张量是作为一种特殊的张量,它的大部分元素的值为零。稀疏张量可以减少不必要的运算、储存和通讯开销等,从而更加的高效。
在这里插入图片描述
以上就是今天我所学习的内容啦~

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

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

相关文章

高并发部署:基于 Gunicorn、Flask 和 Docker

一、准备工作 确保已经安装以下软件: DockerDocker ComposePython 3.x 二、创建 Flask 应用 首先,创建一个简单的 Flask 应用。创建一个新的目录并在其中创建以下文件: 1. app.py python fromflask importFlask, jsonifyapp Flask(__…

leetcode 第133场双周赛 100333.统计逆序对的数目【计数dp/滚动数组/前缀和优化】

分析: 先考虑如下问题。 求长度为n,逆序对为m的排列数量。 可以考虑dp,dp[i][j]定义为长度为i,逆序对为j的排列数量。 dp[1][0] 1; //枚举排列长度,或者认为枚举当前需要插到长度为i-1的排列中的数字 for(int i 1…

OpenAI封杀不支持地区API:违规封号,7月9日生效

OpenAI 在检测用户使用其 API 的地区后,提示所有不支持位置的用户 昨晚,很多大模型应用的开发者、程序员都收到了 OpenAI 的警告信,心里一惊。 OpenAI 在检测用户使用其 API 的地区后,提示所有不支持位置的用户:即将封…

冒泡排序、选择排序、插入排序~java版

1、冒泡排序(Bubble Sort) 冒泡排序的基本思想是多次遍历待排序序列,每次遍历时两两比较相邻元素,如果顺序不对则交换,直到整个序列有序为止。 public class BubbleSort {public static void bubbleSort(int[] arr) …

图书管理系统(附源码)

前言:前面一起和小伙伴们学习了较为完整的Java语法体系,那么本篇将运用这些知识连串在一起实现图书管理系统。 目录 一、总体设计 二、书籍与书架 书籍(Book) 书架(Booklist) 三、对图书的相关操作 I…

已解决问题 | 该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的

在Chrome浏览器中,如果你看到“该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的”这样的提示,通常是因为该扩展程序没有通过Chrome网上应用店进行安装。以下是解决这个问题的步骤: 解决办法:…

Spring Boot整合Redis缓存的最佳实践

Spring Boot整合Redis缓存的最佳实践 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在现代应用开发中,缓存是提升系统性能和响应速度的关键技术之…

kali/ubuntu安装vulhub

无须更换源,安装docker-compose apt install docker.io docker -vdocker-compose #提示没有,输入y安装mkdir -p /etc/docker vi /etc/docker/daemon.json #更换dockerhub国内源┌──(root㉿kali)-[/home/kali/vulhub-master/tomcat/CVE-2017-12615] …

【VScode】常规插件安装

以下是VScode常规插件安装: C/C C/C extension pack C/C themes Draw.io integration highlight 以上插件安装完毕后,可实现 字体高亮,自动补齐,函数跳转,主题切换,图表生成等常用功能。

中介子方程三十七

XXFXXuXXWXXuXXdXXrXXαXXuXpXXKXηXiXXnXXyXηXyXXnXXiXηXKXXpXuXXαXXrXXdXXuXWXπXXWXeXyXeXbXπXpXXNXXqXeXXrXXαXXuXpXXKXηXiXXnXXyXηXyXXnXXiXηXKXXpXuXXαXXrXXeXqXXNXXpXπXbXeXyXeXWXXπXWXuXXdXXrXXαXXuXpXXKXηXiXXnXXyXηXyXXnXXiXηXKXXpXuXXαXXrXXdXXuXXW…

【TensorFlow深度学习】对比学习的核心:实例与上下文的对抗

对比学习的核心:实例与上下文的对抗 对比学习概述实例与上下文的对抗:核心机制实战代码示例:使用PyTorch实现SimCLR结语 在深度学习的浩瀚星海中,对比学习作为自我监督学习的一个分支,正以破竹之势引领着无标注数据利用…

dledger原理源码分析系列(三)-选主

简介 dledger是openmessaging的一个组件, raft算法实现,用于分布式日志,本系列分析dledger如何实现raft概念,以及dledger在rocketmq的应用 本系列使用dledger v0.40 本文分析dledger的选主 关键词 Raft Openmessaging 心跳/选…

SpringMVC中的异常处理器

文章目录 12异常处理器12.1基于配置的异常处理HandlerExceptionResolver接口直接在springmvc中声明使用 12.2基于注解的异常处理需要书写异常的配置类 12异常处理器 12.1基于配置的异常处理 HandlerExceptionResolver接口 接口实现类: DefaultHandlerExceptionR…

Linux安装redis教程(超级详细,新手必看)

环境: Centos 7.9 一、安装准备工作 1.配置gcc 安装redis前需要配置gcc: yum install gcc如果配置gcc出现依赖包问题,可以到主页查看帖子解决:https://blog.csdn.net/m0_59117906/article/details/134451622?spm1001.2014.300…

这四款软件很好用,可以提升工作、学习效率

TableConvert TableConvert是一个基于Web的在线表格转换工具,能够将多种格式的表格数据进行快速转换。它支持将Excel、URL、HTML、JSON、CSV等格式转换为Markdown表、CSV/TSV、XML、YAML、插入SQL、HTML、Excel和LaTeX等格式。用户只需将表格数据粘贴到编辑器&#…

设置HTML元素的背景颜色

设置HTML元素的背景颜色 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在本文中,我们将探讨如何使用HTML和CSS来设置HTML元素的背景颜色。背景颜色…

本教程将指导如何通过 Vue 组件和后端 API 交互

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

常用TELNET命令及其应用

常用TELNET命令及其应用 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! TELNET是一种基于文本协议的网络协议,主要用于远程登录到网络设备和服务器…

计算机视觉全系列实战教程 (十五):使用opencv对视频进行基本处理

视频处理基本介绍 1、基本概述(1)opencv中视频处理的两个基础类(2)视频的属性:获取属性和设置属性 2、VideoCapture的介绍(1)Why( VideoCapture类的作用)(2)How( 如何使用VideoCapture)A.播放视频文件函数B.播放视频文件并实现暂停和继续 3、VideoWriter类的介绍(1)…

CJSON库

目录 一、介绍 1、JSON是什么 2、为什么使用CJSON 3、JSON格式 二、使用CJSON构造JSON 1、创建对象 2、添加字段 3、转换格式 4、释放对象 三、使用CJSON解析JSON 1、解析数据 2、 获取字段 3、释放对象 一、介绍 1、JSON是什么 JSON是什么呢?JSON全称…