torch.tensor(data, *, [dtype=None], [device=None], [requires_grad=False], [pin_memory=False]) --> Tensor
作用:
通过data
构建并返回一个tensor
参数:
list
,tuple
,NumPy ndarryay
, scalar
或其它类型。tensor
的数据的类型,默认浮点数类型为torch.float32
,默认整型类型是torch.int64
。tensor
存在的位置,cpu
或gpu
上,cpu
使用device='cpu'
,gpu
使用device='cuda'
,默认为cpu
。tensor
需不需要梯度信息,默认为False
。tensor
分配到固定的内存位置,仅在tensor
在cpu
上时有用,默认为False
。其他:
1. 默认数据类型(dtype)
和默认device
可以通过torch.set_default_dtype
和torch.set_default_tensor_type
方法进行设置
示例:
x = torch.tensor([1,2,3])
print(x)
输出:
tensor([1, 2, 3])
torch.eye(n, [m=None], [out=None]) --> Tensor
作用:
创建一个对角矩阵(对角线位置全1
,其它位置全0
的2
维tensor
)
参数:
None
,则默认为n
tensor
示例:
x = torch.eye(3)
print(x)
输出:
tensor([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
torch.ones(*sizes, [out=None]) --> Tensor
作用:
返回一个全为1
的张量,形状由可变参数sizes
定义。
参数:
tensor
示例:
x = torch.ones(2, 3)
print(x)
输出:
tensor([[1., 1., 1.],
[1., 1., 1.]])
torch.rand(*sizes, [out=None])-->Tensor
作用:
返回一个张量,包含了从区间[0,1)
的均匀分布中抽取的一组随机数,形状由可变参数sizes
定义
参数:
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]])
torch.linspace(start, end, steps, [out=None]) -->Tensor
作用:
返回一个包含在区间[start, end]
上均匀间隔的长度为steps
的一维张量(等差数列)。
参数:
start
和end
间生成的样本数tensor
示例:
x = torch.linspace(0, 10, steps=11)
print(x)
输出:
tensor([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
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
的一维张量(等比数列)。
参数:
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])
torch.randn(*sizes, [out=None]) -->Tensor
作用:
返回一个tensor
,包含了从标准正态分布(均值为0
,方差为1
,即高斯白噪声)中抽取一组随机数,形状由可变参数sizes
定义
参数:
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]])
torch.randint([low=0], high, size)-->Tensor
作用:
返回一个tensor
,包含[low, high)
之间的随机整数,形状由sizes
定义
参数:
示例:
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]])
torch.randperm(n, [out=None])-->LongTensor
作用:
返回一个一维tensor
,包含[0, n)
之间不重复的随机整数
参数:
tensor
示例:
x = torch.randperm(10)
print(x)
输出:
tensor([5, 1, 7, 8, 3, 0, 6, 4, 9, 2])