Pytorch API学习----torch创建tensor

Pytorch API学习----torch创建tensor

  • 1.torch.tensor
  • 2.torch.eye
  • 3.torch.ones
  • 4.torch.rand
  • 5.torch.linspace
  • 6.torch.logspace
  • 7.torch.randn
  • 8.torch.randint
  • 9.torch.randperm


1.torch.tensor

torch.tensor(data, *, [dtype=None], [device=None], [requires_grad=False], [pin_memory=False]) --> Tensor

作用:
 通过data构建并返回一个tensor

参数:

  • data         数据值,可以是listtupleNumPy ndarryay, scalar或其它类型。
  • dtype          设定生成tensor的数据的类型,默认浮点数类型为torch.float32,默认整型类型是torch.int64
  • device(str)       设定创建的tensor存在的位置,cpugpu上,cpu使用device='cpu'gpu使用device='cuda',默认为cpu
  • requires_grad(bool) 设定创建的tensor需不需要梯度信息,默认为False
  • pin_memory(bool)   设置是否将创建的tensor分配到固定的内存位置,仅在tensorcpu上时有用,默认为False

其他:
1. 默认数据类型(dtype)和默认device可以通过torch.set_default_dtypetorch.set_default_tensor_type方法进行设置

示例:

x = torch.tensor([1,2,3])
print(x)

输出:

tensor([1, 2, 3])

2.torch.eye

torch.eye(n, [m=None], [out=None]) --> Tensor

作用:
 创建一个对角矩阵(对角线位置全1,其它位置全02tensor)

参数:

  • n(int)        行数
  • m(int)       列数,如果为None,则默认为n
  • out(Tensor)    输出tensor

示例:

x = torch.eye(3)
print(x)

输出:

tensor([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.]])

3.torch.ones

torch.ones(*sizes, [out=None]) --> Tensor

作用:
 返回一个全为1的张量,形状由可变参数sizes定义。

参数:

  • sizes (int…)     整数序列,定义了输出形状
  • out (Tensor)     输出tensor

示例:

x = torch.ones(2, 3)
print(x)

输出:

tensor([[1., 1., 1.],
        [1., 1., 1.]])

4.torch.rand

torch.rand(*sizes, [out=None])-->Tensor

作用:
 返回一个张量,包含了从区间[0,1)的均匀分布中抽取的一组随机数,形状由可变参数sizes定义

参数:

  • sizes(int…)      整数序列,定义了输出形状
  • out(Tensor)      输出tensor

示例:

x = torch.rand(4)
y = torch.rand(2, 3)
print(x)
print(y)

输出

tensor([0.6739, 0.1385, 0.9671, 0.3170])
tensor([[0.2934, 0.8094, 0.4192],
        [0.4813, 0.7751, 0.4452]])

5.torch.linspace

torch.linspace(start, end, steps, [out=None]) -->Tensor

作用:
 返回一个包含在区间[start, end]上均匀间隔的长度为steps的一维张量(等差数列)。

参数:

  • start(float)     序列的起始点
  • end(float)      序列的最终值
  • steps(int)    在startend间生成的样本数
  • out(Tensor)   输出tensor

示例:

x = torch.linspace(0, 10, steps=11)
print(x)

输出:

tensor([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

6.torch.logspace

torch.logspace(start, end, steps, [out=None]) -->Tensor

作用:
 返回一个包含在区间 [ 1 0 s t a r t , 1 0 e n d ] [10^{start},10^{end}] [10start,10end] 上均匀间隔的长度为steps的一维张量(等比数列)。

参数:

  • start(float)     序列的起始点
  • end(float)      序列的最终值
  • steps(int)       生成的样本数
  • out(Tensor)      输出tensor

示例:

x = torch.logspace(start=-10, end=10, steps=5)
y = torch.logspace(start=0.1, end=1.0, steps=5)
print(x)
print(y)

输出:

tensor([1.0000e-10, 1.0000e-05, 1.0000e+00, 1.0000e+05, 1.0000e+10])
tensor([ 1.2589,  2.1135,  3.5481,  5.9566, 10.0000])

7.torch.randn

torch.randn(*sizes, [out=None]) -->Tensor

作用:
 返回一个tensor,包含了从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取一组随机数,形状由可变参数sizes定义

参数:

  • sizes(int…)    整数序列,定义了输出形状
  • out(Tensor)    输出tensor

例子:

x = torch.randn(4)
y = torch.randn(2, 3)
print(x)
print(y)

输出:

tensor([-0.1312, -1.2521, -0.1472,  1.2517])
tensor([[-0.5284, -1.6810,  1.5782],
        [ 0.2628, -0.2747,  1.1722]])

8.torch.randint

torch.randint([low=0], high, size)-->Tensor

作用:
 返回一个tensor,包含[low, high)之间的随机整数,形状由sizes定义

参数:

  • low(int)      下边界
  • high(int)     上边界
  • size(tuple)    整数序列,定义了输出形状

示例:

x = torch.randint(3,(2,3))
y = torch.randint(3,6,(2,3))
print(x)
print(y)

输出:

tensor([[2, 0, 0],
        [1, 2, 2]])
tensor([[3, 5, 3],
        [3, 5, 4]])

9.torch.randperm

torch.randperm(n, [out=None])-->LongTensor

作用:
 返回一个一维tensor,包含[0, n)之间不重复的随机整数

参数:

  • n(int)       上边界
  • out(Tensor)   输出tensor

示例:

x = torch.randperm(10)
print(x)

输出:

tensor([5, 1, 7, 8, 3, 0, 6, 4, 9, 2])

你可能感兴趣的:(Pytorch,API,python,深度学习,pytorch,机器学习,神经网络)