pytorch学习——Tensor

1、Tensor的创建

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

(1)列表数据

import torch
data=[[1,2],[3,4]]
x_data=torch.tensor(data)
x_data
Out[5]: 
tensor([[1, 2],
        [3, 4]])

(2)numpy数组

import numpy as np
np_array=np.array(data)
x_np=torch.from_numpy(np_array)
x_np
Out[11]: 
tensor([[1, 2],
        [3, 4]])

(3)从其他Tensor

torch.ones_like(x_data)
Out[12]: 
tensor([[1, 1],
        [1, 1]])
torch.rand_like(x_data,dtype=torch.float)
Out[14]: 
tensor([[0.6051, 0.3800],
        [0.7927, 0.3220]])

(4)随机生成

pytorch学习——Tensor_第1张图片

2、randperm()

torch.randperm(n):将0~n-1随机打乱后获得的数字序列

torch.randperm(15)
Out[15]: tensor([ 7, 13,  8, 10, 14,  1,  0, 11,  6, 12,  2,  4,  9,  5,  3])

3、linspace()

包含最右边的数

torch.linspace(0,100,5)
Out[16]: tensor([  0.,  25.,  50.,  75., 100.])

4、arange()

不包含最右边的数

torch.arange(0,5,2)
Out[18]: tensor([0, 2, 4])

5、Tensor的属性

  • tensor.dtype
  • tensor.device
  • tensor.shape
  • tensor.data
  • tensor.ndim

① 数据和网络在CPU或GPU上运行
tensor.cuda() tensor.CPU()
tensor.to(‘cuda’) tensor.to(‘CPU’)

6、Tensor的运算

a*b ,torch.add(a,b) , a.add(b) , a.add_(b)
张量对应元素的运算:加(add),减(sub),乘(mul),除(div)

二维矩阵的乘法运算:torch.mm(),torch.matmul(),@
幂运算:

  • torch.pow(a,2),a.pow(2),a**2,a.pow_()
  • torch.exp(a),a.exp_()

开方运算:a.sqrt(),a.sqrt_()

你可能感兴趣的:(机器学习,pytorch,学习,numpy)