PyTorch系列(3):tensor生成操作大全

本文详细介绍了PyTorch中用于创建tensor的各种方法,包括torch.tensor、torch.sparse_coo_tensor、torch.as_tensor、torch.from_numpy、torch.zeros、torch.zeros_like、torch.arange、torch.linspace、torch.eye、torch.empty以及torch.full。这些方法覆盖了从基本的数值生成到复杂的数据结构转换,是理解和使用PyTorch进行深度学习的基础。
摘要由CSDN通过智能技术生成

下面参数中的省略号代表dtype、requires_grad等常规参数。

一、

torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False) → Tensor

1、用data创建一个tensor

2、torch.tensor会从data出复制数据,意味着生成的tensor不会和data共享内存(改变data并不会改变tensor)

#data: 数据,类似于数组
#dtype: 生成的tensor类型
#device: cpu或者GPU
#requires_grad:是否进行微分
#pin_memory: 是否分配到pinned memory,仅仅适用于CPUtensor
import torch
#如果gpu可用选择gpu,否则用cpu
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
x = torch.tensor([1.,2], dtype=torch.float64, device=device,requires_grad=True)
x

tensor([ 1.,  2.], dtype=torch.float64, device='cuda:0')

二、

torch.sparse_coo_tensor(indices, values, size=None, dtype=None, device=None, requires_grad=False) → Tensor :创建一个稀疏tensor,格式为COO类型

COO类型表示给出非零元素的坐标形式

# indices:非零元素的坐标,如下例的indices,indices[0]表示三个横坐标,indices[1]表示三个纵坐标,因此稀疏矩阵中非零的位置分别为(0,2),(1,0),(1,2)
# values: 非零元素的值, 如下例中的values,三个非零元素分别为3,4,5
#size:次数矩阵的维度
indices = torch.tensor([[0, 1, 1], [2, 0, 2
  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值