Pytorch学习——张量

目录

一、张量基本概念

二、Tensor

2.1 Variable

2.2.Tensor

三、张量的创建

3.1 直接创建

3.2 依据数值创建

3.3 依据概率分布创建张量

四、张量操作

4.1 张量拼接与切分

4.2 张量索引

4.3 张量变换

五、张量的数学运算

六、线性回归


一、张量基本概念

张量是一个多维数组,是标量、向量、矩阵的高维拓展

Tensor(张量)类似于NumPy的ndarray,但还可以在GPU上使用来加速计算。

二、Tensor

2.1 Variable

Variable是torch.autograd中的数据类型,主要用于Tensor封装,进行自动求导。

Variable的5个属性:

1. data:被包装的Tensor

2. grad:data的梯度

3. grad_fn:创建Tensor的Function,是自动求导的关键

4. requires:指示是否需要梯度

5. is_leaf:指示是否是叶子

2.2.Tensor

Pytorch0.4.0及以后版本已将Variable并入Tensor

当前Tensor具有8个属性,除了并入的Variable 5个属性之外,另外3个是:

dtype:张量的数据类型

shape:张量的形状

device:张量所在设备,cup/gpu,是加速的关键

三、张量的创建

3.1 直接创建

torch.tensor(data)  #data可以是list、numpy

arr = np.ones((3, 3))
print("arr数据类型:", arr.dtype)
# t = torch.tensor(arr, device='cuda')
t = torch.tensor(arr)
print(t)

torch.from_numpy(arr)  #从numpy创建tensor,这种方法创建的tensor与原ndarray共享内存。

arr = np.array([[1, 2, 3], [4, 5, 6]])
print("arr数据类型:", arr.dtype)
# t = torch.tensor(arr, device='cuda')
t = torch.from_numpy(arr)
print(t)

3.2 依据数值创建

 torch.zeros(size,out)   #size是张量形状,如(3,3);out是输出的张量

out_t = torch.tensor([1])
t = torch.zeros((3, 3), out=out_t)  #out用来接收全0张量, 类似赋值操作
print(t, '\n', out_t)
print(id(t), id(out_t), id(t) == id(out_t))

torch.zeros_like(input)

torch.ones(size)

torch.full(size, value)  #创建全为value的张量

torch.arange(start,end,step) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值