欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pytorch(三) 常用类型

程序员文章站 2022-03-21 19:47:00
...

Tensors 张量 一个基本概念

一、Tensors常用package

1.torch.numel

>>>
In [10]: a = torch.randn(1,2)
Out[10]:
tensor([[0.2167, 1.3228]])
>>> torch.numel(a)
2

2.torch.eye

torch.eye(n, m=None, out=None)
返回一个2维张量,对角线位置全1,其它位置全0
>>> torch.eye(3)
 1  0  0
 0  1  0
 0  0  1
[torch.FloatTensor of size 3x3]

3.torch.from_numpy

torch.from_numpy(ndarray) → Tensor
Numpy桥,将numpy.ndarray 转换为pytorch的 Tensor。 返回的张量tensor和numpy的ndarray共享同一内存空间。修改一个会导致另外一个也被修改。返回的张量不能改变大小。

In [13]:
import numpy
In [14]:
a = numpy.array([1., 2., 3.])
In [16]:
t = torch.from_numpy(a)
In [17]: t
Out[17]:
tensor([1., 2., 3.], dtype=torch.float64)

4.torch.rand
均匀分布
torch.rand(*sizes, out=None) → Tensor

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

参数:

sizes (int…) - 整数序列,定义了输出张量的形状
out (Tensor, optinal) - 结果张量
例子:

torch.rand(2, 3)
0.0836 0.6151 0.6958
0.6998 0.2560 0.0139
[torch.FloatTensor of size 2x3]

5.torch.randn
标准正态分布
torch.randn(*sizes, out=None) → Tensor

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

参数:

sizes (int…) - 整数序列,定义了输出张量的形状
out (Tensor, optinal) - 结果张量
例子:

torch.randn(2, 3)
0.5419 0.1594 -0.0413
-2.7937 0.9534 0.4561
[torch.FloatTensor of size 2x3]

6.torch.normal
离散正态分布
返回一个张量,包含从给定参数means,std的离散正态分布中抽取随机数。 均值means是一个张量,包含每个输出元素相关的正态分布的均值。 std是一个张量,包含每个输出元素相关的正态分布的标准差。 均值和标准差的形状不须匹配,但每个张量的元素个数须相同。

参数:

means (Tensor) – 均值
std (Tensor) – 标准差
out (Tensor) – 可选的输出张量

7.torch.linspace
线性间距向量
torch.linspace(start, end, steps=100, out=None) → Tensor

返回一个1维张量,包含在区间start和end上均匀间隔的step个点。

输出张量的长度由steps决定。