译者:hijkzzz
torch.Tensor 是一种包含单一数据类型元素的多维矩阵.
Torch定义了八种CPU张量类型和八种GPU张量类型:
Data type | dtype | CPU tensor | GPU tensor |
32-bit floating point |
|
|
|
64-bit floating point |
|
|
|
16-bit floating point |
|
|
|
8-bit integer (unsigned) |
| torch.ByteTensor |
|
8-bit integer (signed) |
|
|
|
16-bit integer (signed) |
|
|
|
32-bit integer (signed) |
|
|
|
64-bit integer (signed) |
|
|
|
torch.Tensor 是默认的tensor类型 (torch.FloatTensor
) 的简称.
Tensor 可以用torch.tensor()转换Python的 list 或序列生成:
>>> torch.tensor([[1., -1.], [1., -1.]])
tensor([[ 1.0000, -1.0000],
[ 1.0000, -1.0000]])
>>> torch.tensor(np.array([[1, 2, 3], [4, 5, 6]]))
tensor([[ 1, 2, 3],
[ 4, 5, 6]])
警告
torch.tensor() 总是拷贝 data
. 如果你有一个 Tensor data
并且仅仅想改变它的 requires_grad
属性, 可用 requires_grad_() or detach() 来避免拷贝. 如果你有一个 numpy 数组并且想避免拷贝, 请使用 torch.as_tensor().