译者: https://github.com/hijkzzz
torch.Tensor 是一种包含单一数据类型元素的多维矩阵.
Torch 定义了八种 CPU 张量类型和八种 GPU 张量类型:
Data type | dtype | CPU tensor | GPU tensor |
---|---|---|---|
32-bit floating point | torch.float32 or torch.float | torch.FloatTensor | torch.cuda.FloatTensor |
64-bit floating point | torch.float64 or torch.double | torch.DoubleTensor | torch.cuda.DoubleTensor |
16-bit floating point | torch.float16 or torch.half | torch.HalfTensor | torch.cuda.HalfTensor |
8-bit integer (unsigned) | torch.uint8 | torch.ByteTensor | torch.cuda.ByteTensor |
8-bit integer (signed) | torch.int8 | torch.CharTensor | torch.cuda.CharTensor |
16-bit integer (signed) | torch.int16 or torch.short | torch.ShortTensor | torch.cuda.ShortTensor |
32-bit integer (signed) | torch.int32 or torch.int | torch.IntTensor | torch.cuda.IntTensor |
64-bit integer (signed) | torch.int64 or torch.long | torch.LongTensor | torch.cuda.LongTensor |
torch.Tensor 是默认的 tensor 类型 (torch.FloatTensor) 的简称.
Tensor 可以用 torch.tensor() 转换 Python 的 或序列?? 生成:
- >>> 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().
阅读全文 / 改进本文
来源: http://www.bubuko.com/infodetail-2949081.html