Pytorch--创建Tensor

目录

    • 1、Import from numpy
    • 2、Import from List
    • 3、uninitialized
    • 4、set default type
    • 5、rand/rand_like, randint
    • 6、randn
    • 7、normal
    • 8、full
    • 9、arange/range
    • 10、linspace/logspace
    • 11、Ones/zeros/eye

1、Import from numpy

Pytorch--创建Tensor_第1张图片

torch.from_numpy()# 转化维Tensor
np.ones([2,3])#创建2行3列的数组

2、Import from List

Pytorch--创建Tensor_第2张图片

tensor()#后面可以加List
FloatTensor()#后面可以加List也可以直接定义tensor的shape

3、uninitialized

Pytorch--创建Tensor_第3张图片

Torch.empty()#创建一个空的Tensor
Torch.FloatTensor(d1, d2, d3)#创建一个shape为[d1,d2,d3]的tensor

4、set default type

设置默认类型
Pytorch--创建Tensor_第4张图片

torch.set_default_tensor_tpye(torch.DoubleTensor)

5、rand/rand_like, randint

Pytorch--创建Tensor_第5张图片

rand#随机数来自区间[0, 1)的均匀分布,张量的形状由变量参数.size定义。
rand_like#返回一个与输入相同大小的张量,该张量由区间[0,1)上的均匀分布的随机数填充。 
randint#min,max,shape
>>> torch.randint(3, 10, (2, 2))
tensor([[4, 5],
        [6, 7]])

6、randn

Pytorch--创建Tensor_第6张图片
#返回一个充满随机数的张量,这些随机数来自均值为0、方差为1的正态分布(也叫标准正态分布)。

>>> torch.randn(4)
tensor([-2.1436,  0.9966,  2.3426, -0.6366])
>>> torch.randn(2, 3)
tensor([[ 1.5954,  2.8929, -1.0923],
        [ 1.1719, -0.4709, -0.1996]])

7、normal

torch.normal
返回一个从独立的正态分布中抽取的随机数的张量,其平均值和标准差是给定的。
平均值是一个张量,包含每个输出元素的正态分布的平均值。
std是一个张量,包含每个输出元素的正态分布的标准差。
Mean和std的形状不需要匹配,但每个张量中的元素总数需要相同。

>>> torch.normal(mean=torch.arange(1., 11.), std=torch.arange(1, 0, -0.1))
tensor([  1.0425,   3.5672,   2.7969,   4.2925,   4.7229,   6.2134,
          8.0505,   8.1408,   9.0563,  10.0566])

8、full

Pytorch--创建Tensor_第7张图片

>>> torch.full((2, 3), 3.141592)
tensor([[ 3.1416,  3.1416,  3.1416],
        [ 3.1416,  3.1416,  3.1416]])

9、arange/range

Pytorch--创建Tensor_第8张图片

 arange#从区间[start, end]中取值,并从起点开始进行公差步长。

range和python重复不推荐使用

10、linspace/logspace

Pytorch--创建Tensor_第9张图片
linspace

torch.linspace(start, end, steps, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

在这里插入图片描述

对start到end进行steps-1次切割

>>> torch.linspace(3, 10, steps=5)
tensor([  3.0000,   4.7500,   6.5000,   8.2500,  10.0000])
>>> torch.linspace(-10, 10, steps=5)
tensor([-10.,  -5.,   0.,   5.,  10.])
>>> torch.linspace(start=-10, end=10, steps=5)
tensor([-10.,  -5.,   0.,   5.,  10.])
>>> torch.linspace(start=-10, end=10, steps=1)
tensor([-10.])

logspace

torch.logspace(start, end, steps, base=10.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

在这里插入图片描述

>>> torch.logspace(start=-10, end=10, steps=5)
tensor([ 1.0000e-10,  1.0000e-05,  1.0000e+00,  1.0000e+05,  1.0000e+10])
>>> torch.logspace(start=0.1, end=1.0, steps=5)
tensor([  1.2589,   2.1135,   3.5481,   5.9566,  10.0000])
>>> torch.logspace(start=0.1, end=1.0, steps=1)
tensor([1.2589])
>>> torch.logspace(start=2, end=2, steps=1, base=2)
tensor([4.0])

11、Ones/zeros/eye

Pytorch--创建Tensor_第10张图片

torch.ones()全1
torch.zero()全0
torch.eye()单位矩阵

你可能感兴趣的:(Pytorch,python,numpy,深度学习,pytorch,list)