一、tensor是啥:
tensor是PyTorch中重要的数据结构,可认为是一个高维数组。
Tensor
和Numpy中的ndarrays
类似,但Tensor
可以使用GPU进行加速计算
二、如何使用:
1. 在创立一个tensor数据类型的对象前,先明确一个事情:
用 torch.tensor 来建立 tensor 数据结构 和 用 torch.Tensor 来建立 tensor 数据结构 有什么区别:
torch.Tensor和torch.tensor有什么区别?_EdisonLeejt的博客-CSDN博客
简言之就是,推荐使用:torch.tensor()来建立tensor数据,
如果要建立空的tensor数据类型那么使用下述语句:
tensor_without_data = torch.empty([]) # tensor(0.)
【把人家博客的内容再自己复述一遍写在这thx】
2. 建立一个tensor数据类型的对象:
语句: torch.Tensor(*sizes)
【注意】使用该方法创建Tensor时,系统不会马上分配空间,只是会计算剩余的内存是否足够使用,使用到Tensor时才会分配。而其它操作都是在创建完Tensor之后马上进行空间分配。
我不知道上述这个tensor分配内存空间的这种方式的意义是啥?知道了的话我会补充在这
(1)朴素的建立tensor方式汇总:
import torch
tmp = torch.Tensor() # 建立一个空的tensor类型对象tmp
print(tmp) # tensor([])
tmp1 = torch.Tensor(2,3) # 此时tensor中数值随机
print(tmp1) # tensor([[0., 0., 0.], [0., 0., 0.]]) (这个例子就只是随机到了0值 ?)
tmp2 = torch.ones(2,3) # 建立一个维度为(2, 3) 的数值全为 1 的tensor
print(tmp2) # tensor([[1., 1., 1.], [1., 1., 1.]])
tmp3 = torch.zeros(2,3) # 建立一个维度为(2, 3) 的数值全为 0 的tensor
print(tmp3) # tensor([[0., 0., 0.], [0., 0., 0.]])
(2)类似list的range()那种 给定 步长 和 起始点 生成一维的tensor :
tmp = torch.arange(1, 10, 2)
print(tmp)
3. tensor数据类型的转换:
(1)tensor的数据类型有哪些:
(2)可以在tensor建立时就指定:
他们之间也可以相互转换:
没写完:然后把上述的代码换成torch.tensor()