- 1. torch.eye(n, m=None, out=None)
- 2. torch.from_numpy(ndarray)
- 3. torch.linspace(start, end, steps=100, out=None)
- 4. torch.logspace(start, end, steps=100, out=None)
- 5. torch.ones(*sizes, out=None)
- 6. torch.rand(*size, out=None)
- 7. torch.randn(*size, out=None)
- 8. torch.randperm(n, out=None)
- 9. torch.arange(start, end, step=1, out=None)
- 10. torch.range(start, end, step=1, out=None)
- 11. torch.zeros(*size, out=None)
参考文章:
1. torch.eye(n, m=None, out=None)
说明:创建一个2维张量,对角线数字为1, 其他位置为0。也就是一个单位矩阵。
参数:
n — 行数,
m — 列数,如果为None,默认等于n,
out — 输出张量
1 | import torch |
2. torch.from_numpy(ndarray)
说明:将numpy.ndarray转换为Tensor。返回的Tensor和numpy的ndarray共享同一内存空间。修改一个会导致另外一个也被修改。返回的张量不能调整大小。
1 | import numpy |
3. torch.linspace(start, end, steps=100, out=None)
说明:返回start和end之间长度为steps的一维张量,也就是start和end之间的steps个数。并且其返回的是一个等差数列。
参数:
start(float) — 点集的起始值,
end(float) — 点集的最终值,
steps(int) — start和end之间的采样数,即返回多少个数
out(Tensor,可选) — 结果张量1
2
3
4
5
6
7-10, 10, steps=5) torch.linspace(
tensor([-10., -5., 0., 5., 10.])
0, 5, 5) torch.linspace(
tensor([0.0000, 1.2500, 2.5000, 3.7500, 5.0000])
-10, end=10, steps=10) torch.linspace(start=
tensor([-10.0000, -7.7778, -5.5556, -3.3333, -1.1111, 1.1111, 3.3333,
5.5556, 7.7778, 10.0000])
4. torch.logspace(start, end, steps=100, out=None)
说明:返回一个1维张量,包含在区间和上,以对数刻度均匀间隔的steps个点。输出1维张量的长度为steps。
参数:
start(float) — 点集的起始点
end(float) — 点集的最终点
steps(int) — 在start和end间生成的样本数
out(Tensor,可选) — 结果张量1
2
3
4-10, end=10, steps=5) torch.logspace(start=
tensor([1.0000e-10, 1.0000e-05, 1.0000e+00, 1.0000e+05, 1.0000e+10])
0.1, 1.0, 5) torch.logspace(
tensor([ 1.2589, 2.1135, 3.5481, 5.9566, 10.0000])
5. torch.ones(*sizes, out=None)
说明:返回一个全为1的张量,形状由可变参数sizes定义。
参数:
sizes(int) — 整数序列,定义了输出的形状。如(3,3)
out(Tensor, 可选) — 结果张量1
2
3
4
52, 3) torch.ones(
tensor([[1., 1., 1.],
[1., 1., 1.]])
5) torch.ones(
tensor([1., 1., 1., 1., 1.])
6. torch.rand(*size, out=None)
说明:返回一个张量,填充在[0,1]区间的一组均匀分布随机数。Tensor的形状由变量sizes定义。
参数:
sizes(int) — 整数序列,定义了输出形状
out(Tensor, 可选) — 结果张量1
2
3
4
54) torch.rand(
tensor([0.4962, 0.0724, 0.0478, 0.3524])
2, 3) torch.rand(
tensor([[0.3200, 0.7308, 0.3226],
[0.8039, 0.2359, 0.7256]])
7. torch.randn(*size, out=None)
说明:返回一个张量,包含了从正态分布(均值为0,方差为1)中抽取一组随机数。Tensor的形状由变量sizes定义。
参数:
sizes(int) — 整数序列,定义了输出形状
out(Tensor, 可选) — 结果张量1
2
3
4
54) torch.randn(
tensor([ 0.3094, 0.4774, -0.1807, 0.9894])
2, 3) torch.randn(
tensor([[-0.3299, -0.0495, -1.4758],
[-0.0680, -0.3875, 0.9846]])
8. torch.randperm(n, out=None)
说明:返回以LongTenor,输入参数n,返回一个从0到n-1的随机整数排列。
参数:
n(int) — 上限,即最大值。
torch.randperm(4)
tensor([3, 1, 0, 2])9. torch.arange(start, end, step=1, out=None)
说明: 返回一个1维张量,长度为,中间计算值,向下取整的意思。包含从start到end,以step为步长的一组序列值。默认步长为1。
参数:
start(float) — 该点集的起始点
end(float) — 点集的终止点
step(float) — 相邻点的间隔大小
out(Tensor, 可选的) — 结果张量
1 | 1, 4) torch.arange( |
10. torch.range(start, end, step=1, out=None)
说明:返回一维张量,长度为+1,从start开始,到end结束。以step为步长的一组值。step是两个值之间的间隔。
参数:
start(float) — 点集的起始点
end(float) — 点集的最终值
step(int) — 相邻点之间的间隔大小
out(Tensor, 可选的) — 结果张量
1 | 1, 4) torch.range( |
11. torch.zeros(*size, out=None)
说明:返回一个全0的张量,形状由可变参数sizes定义。
参数:
sizes(int) — 整数序列,定义了输出形状
out(Tensor, 可选) — 结果张量
1 | 2, 3) torch.zeros( |
总结:这部分内容主要是创建操作,创建一些随机数,或者是矩阵。在pytorch中,他们都是张量类型。简单的创建操作。反复练习。方可掌握。如果有numpy的基础。那就更加容易学习。其实无论numpy,tensorflow,pytorch等。在创建一些随机数/矩阵中,他们都是相同的。只不过是存在不同的第三方库中。