torch.Tensor
是一种包含单一数据类型元素的多维矩阵。Torch
定义了七种 CPU tensor类型和八种
GPU tensor
类型:
torch.Tensor
是默认的
tensor
类型(
torch.FloatTensor
)的简称。
一个张量
tensor
可以从
Python
的
list
或序列构建:
例子:
>>> torch.FloatTensor([[1, 2, 3], [4, 5, 6]])
1 2 3
4 5 6
[torch.FloatTensor of size 2x3]
一个空张量 tensor 可以通过规定其大小来构建:
例子:
>>> torch.IntTensor(2, 4).zero_()
0 0 0 0
0 0 0 0
[torch.IntTensor of size 2x4]
可以用 python 的索引和切片来获取和修改一个张量 tensor 中的内容:
例子:
>>> x = torch.FloatTensor([[1, 2, 3], [4, 5, 6]])
>>> print(x[1][2])
6.0
>>> x[0][1] = 8
>>> print(x)
1 8 3
4 5 6
[torch.FloatTensor of size 2x3]
每一个张量
tensor
都有一个相应的
torch.Storage 用来保存其数据。类tensor 提供了一个存储的多维的、横向视图,并且定义了在数值运算。
注:会改变tensor的函数操作会用一个下划线后缀来标示。比如,torch.FloatTensor_()会在原地计算绝对值,并返回改变后的tensor,而tensor.FloatTensor.abs()将会在一个新的tensor中计算结果。
class torch.Tensor
class torch.Tensor(*sizes)
class torch.Tensor(size)
class torch.Tensor(sequence)
class torch.Tensor(ndarray)
class torch.Tensor(tensor)
class torch.Tensor(storage)
根据可选择的大小和数据新建一个 tensor。如果没有提供参数,将会返回一个空的零维张量。如果提供了
numpy.ndarray,torch.Tensor
或 torch.Storage将会返回一个有同样参数的 tensor. 如果提供了 python 序列,
将会从序列的副本创建一个
tensor
。
abs()
–>Tensor请查看
torch.abs()
abs_() –>Tensor abs()
的
in-place
运算形式
acos() –>Tensor
请查看
torch.acos()
acos_() –>Tensor:acos()
的
in-place
运算形式
add(value)
请查看
torch.add()
add_(value) add()
的
in-place
运算形式
addbmm(beta=1, mat, alpha=1, batch1, batch2) –>Tensor 请查看 torch.addbmm()
addbmm_(beta=1, mat, alpha=1, batch1, batch2) –>Tensor addbmm() 的 in-place 运
算形式
addcdiv(value=1, tensor1, tensor2) –>Tensor 请查看 torch.addcdiv()
addcdiv_(value=1, tensor1, tensor2) –>Tensor addcdiv()
的
in-place
运算形式
addcmul(value=1, tensor1, tensor2) –>Tensor 请查看 torch.addcmul()
addcmul_(value=1, tensor1, tensor2) –>Tensor addcmul()
的
in-place
运算形式
addmm(beta=1, mat, alpha=1, mat1, mat2) –>Tensor
请查看
torch.addmm()
addmm_(beta=1, mat, alpha=1, mat1, mat2) –>Tensor addmm()
的
in-place
运算形式
addmv(beta=1, tensor, alpha=1, mat, vec) –>Tensor
请查看
torch.addmv()
addmv_(beta=1, tensor, alpha=1, mat, vec) –>Tensor addmv()
的
in-place
运算形式
addr(beta=1, alpha=1, vec1, vec2) –>Tensor
请查看
torch.addr()
addr_(beta=1, alpha=1, vec1, vec2) –>Tensor addr()
的
in-place
运算形式
apply_(callable) –>Tensor
将函数
callable
作用于
tensor
中每一个元素,并将每个元 素用callable函数返回值替代。
该函数只能在
CPU tensor
中使用,并且不应该用在有较高性能要求的代码块。