• tensor类型、属性、torch.tensor与torch.Tensor的区别


    一、tensor(张量)

    1. tensor简介

    在深度学习中,可以理解为Tensor是一个多维度的矩阵张量是一个不随参照系的坐标变换(其实就是基向量变化)而变化的东西。

    2. 类型

    在这里插入图片描述

    3. 属性

    每一个Tensor都有torch.dtype、torch.device、torch.layout

    • torch.dtype:数据类型
    • torch.device:是指torch.Tensor分配到的设备('cpu’或’cuda’设备类型)的对象
    • torch.layout:表示torch.Tensor内存布局的对象,分别是稀疏密集。要注意的是稀疏化时需要提供元素的索引和值。可用torch.sparse_coo_tensor()和torch.sparse_csr_tensor()来实现
    dev = torch.device("cpu")			# 使用cpu
    print(torch.tensor([1, 2], device=dev))	# 将张量放在cpu上
    dev = torch.device("cuda:0")		# 使用gpu
    print(torch.tensor([1, 2], device=dev))	# 将张量放在gpu上
    
    # 张量的稀疏化
    indexs = torch.tensor([[0, 1, 1], [2, 0, 2]])	# 索引
    values = torch.tensor([3, 4, 5], dtype=torch.float32)		# 值
    x = torch.sparse_coo_tensor(indexs, values, [2, 4])			# 稀疏化
    print(x)
    print(x.to_dense())		# 将稀疏张量转化为稠密张量(含有多个0)
    
    # 输出
    tensor([1, 2])			# cpu上的张量
    tensor([1, 2], device='cuda:0')	# gpu上的张量
    tensor(indices=tensor([[0, 1, 1],
                           [2, 0, 2]]),
           values=tensor([3., 4., 5.]),
           size=(2, 4), nnz=3, layout=torch.sparse_coo)	# 稀疏张量的存储
    tensor([[0., 0., 3., 0.],	# 稀疏转稠密
            [4., 0., 5., 0.]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    4. torch.tensor与torch.Tensor的区别

    1. torch.Tensor是将输入的data转化torch.FloatTensor,而对于 torch.tensor(当你未指定dtype的类型时) 将依据data类型转化为torch.FloatTensor、torch.LongTensor或torch.DoubleTensor等
    2. torch.Tensortorch.empty(会随机产生垃圾数组,详见实例)和torch.tensor之间的一种混合

    本文只用于个人学习与记录,侵权立删

  • 相关阅读:
    超越人类的极限:人工智能的崛起之路
    期货技术分析难学吗(商品期货学难嘛)
    【chat】 1:Ubuntu 20.04.3 编译安装moduo master分支
    Vue练习
    面试算法12:左右两边子数组的和相等
    如何使用 NestJs、PostgreSQL、Redis 构建基于用户设备的授权验证
    go语言并发实战——日志收集系统(四) 利用tail包实现对日志文件的实时监控
    基于Qt的目录统计QDirStat
    直接缓存访问DCA
    单源最短路径 -- Dijkstra
  • 原文地址:https://blog.csdn.net/weixin_45969777/article/details/126286211