当前位置: 首页 > news >正文

张量的基本使用

目录

1.张量的定义

2.张量的分类

3.张量的创建

3.1 根据已有数据创建张量

3.2 根据形状创建张量

3.3 创建指定类型的张量


1.张量的定义

张量(Tensor)是机器学习的基本构建模块,是以数字方式表示数据的形式。PyTorch就是将数据封装成张量来进行运算的。PyTorch中的张量就是元素为同一种数据类型的多维数组。在PyTorch中,张量以"类"的形式封装起来,对张量的一些运算、处理的方法被封装在类中。

2.张量的分类

2.1 0维张量

 将标量转化为张量得到的就是0维张量

import torch
#0维张量:标量(scalar)
scalar=torch.tensor(7)
print(scalar.ndim)#0

2.2 1维张量

将向量转化为张量得到的就是1维张量

import torch
#1维张量:向量(vector)
vector=torch.tensor([7,7])
print(vector.ndim)#1

2.3 2维张量

将矩阵转化为张量得到的就是2维张量

import torch
#2维张量:矩阵(matrix)
matrix=torch.tensor([[7,8],[9,10]])
print(matrix.ndim)#2

2.4 多维张量

将多维数组转化为张量得到的就是多维张量

import torch
#多维张量
tensor=torch.tensor([[[1,2,3],[3,6,9],[2,4,5]]])
print(tensor.ndim)#3

3.张量的创建

3.1 根据已有数据创建张量

利用torch.tensor可以实现根据已有数据创建张量

import torch
import numpy as np
def test01():#1.1创建标量张量data=torch.tensor(10)print(data)#1.2numpy数组,由于data为float64,下面代码也使用该类型data=np.random.randn(2,3)#2行3列data=torch.tensor(data)print(data)#1.3列表,下面代码使用默认元素类型float32data=[[10.,20.,30.],[40.,50.,60.]]data=torch.tensor(data)print(data)
if __name__=='__main__':test01()

3.2 根据形状创建张量

利用torch.Tensor可以根据形状创建张量,也可用来创建指定数据的张量

import torch
def test02():#2.1创建2行3列的张量,默认dtype为float32data=torch.Tensor(2,3)print(data)#2.2注意:如果传递列表,则创建包含指定元素的张量data=torch.Tensor([10])print(data)data=torch.Tensor([10,20])print(data)
if __name__=='__main__':test02()

3.3 创建指定类型的张量

利用 torch.IntTensor、torch.FloatTensor、torch.DoubleTensor可以创建指定类型的张量

def test03():#3.1创建2行3列,dtype为int32的张量data=torch.IntTensor(2,3)print(data)#3.2注意:如果传递的元素类型不正确,则会进行类型转换data=torch.IntTensor([2.5,3.3])print(data)#3.3其他的类型#int16data=torch.ShortTensor()#int64data=torch.LongTensor()#float32data=torch.FloatTensor()#float64data=torch.DoubleTensor()
if __name__ =='__main__':test03()

 

http://www.lryc.cn/news/403886.html

相关文章:

  • Oracle(14)什么是唯一键(Unique Key)?
  • PostgreSQL的引号、数据类型转换和数据类型
  • Mad MAD Sum-Codeforces Round 960 (Div. 2)
  • Flutter 插件之 package_info_plus
  • 如何实现布隆过滤器?
  • 运维团队如何高效监控容器化环境中的PID及其他关键指标
  • 通过vue3 + TypeScript + uniapp + uni-ui 实现下拉刷新和加载更多的功能
  • Pointnet++改进即插即用系列:全网首发WTConv2d大接受域的小波卷积|即插即用,提升特征提取模块性能
  • 4核16G服务器支持多少人?4C16G服务器性能测评
  • 塔子哥的平均数-美团2023笔试(codefun2000)
  • 故障诊断 | 基于小波包能量谱对滚动轴承的故障诊断Matlab代码
  • E14.【C语言】练习:有关短路运算
  • python BeautifulSoup库安装与使用(anaconda、pip)
  • 基于Matlab的数据可视化
  • 深入理解Linux网络(二):UDP接收内核探究
  • linux内核中list的基本用法
  • 项目中无关痛痒的词句背后深层含义
  • DLMS协议中的高级安全(HLS)身份验证
  • 2024“钉耙编程”杭电多校1006 序列立方(思维+前缀和优化dp)
  • 钡铼分布式I/O系统边缘计算Modbus,MQTT,OPC UA耦合器BL206
  • 防火墙--双机热备
  • 机器学习 -逻辑回归的似然函数
  • go 实现websocket以及详细设计流程过程,确保通俗易懂
  • 记录工作中遇到的关于更新丢失商品超开的一个坑
  • 形状之美:WebKit中CSS形状的实现与创新
  • 项目管理进阶之RACI矩阵
  • docker: No space left on device处理与迁移目录
  • 设计模式使用场景实现示例及优缺点(结构型模式——外观模式)
  • Artix7系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTP高速接口,提供工程源码和技术支持
  • 加拿大上市药品查询-加拿大药品数据库