最近发现自己的代码能力属实不太行,所以打算每天抽点时间来汇总一下pytorch的API文档。
创建新的Tensor:tensor.numel() #返回tensor中element的数量,直接就是int格式,不需要item()啥的
torch.sparse_coo_tensor #先mark一下,感觉以后可能会用得着,到时候再查
>>> torch.arange(0,10,3)
[0,3,6,9] #[step, end)
>>> torch.linspace(0,10,5)
[0, 2.5, 5, 7.5, 10] #start和end都包含,相邻数据的间隔是(end-start) / (steps-1)
#steps是几,tensor就包含几个元素
torch.logspace(start, end, steps, base=10.0)
>>> torch.logspace(0, 10, 3, base = 2)
[1, 2^5, 2^10] #linspace的指数版
torch.eye(m,n) #返回一个m行n列的tensor,对角元素是1
>>> torch.full((2,3),3.14)
tensor([[3.1400, 3.1400, 3.1400],
[3.1400, 3.1400, 3.1400]])
torch.full_like(tensor,value)
torch.heaviside(input,value)
# input和value都是tensor,value可以是一个值或者和input size相同
# input[i]<0, out[i] = 0; input[i] == 0, out[i] = value[i]; input[i]>0, out[i]=1
# 强行把小于0的元素变成0,把大于0的元素变成1,把等于0的元素变成value,感觉有点用又用处不大
Tensor的各种处理:索引,拼接等等:
torch.chunk(input, chunks(int), dim=0) → List of Tensors
# 将tensor分块,返回[Tensors],最后一个元素可能size会比较小,如果不能正好整除的话
>>> a = torch.randn(3,2)
>>> torch.chunk(a,2)
(tensor([[ 1.2660, -1.0006],
[-0.5908, -0.0418]]), tensor([[0.2641, 0.8713]]))



