torch.Tensor
torch.Tensor是一种包含单一数据类型元素的多维矩阵。torch.Tensor是默认的tensor类型(torch.FlaotTensor)的简称
Torch定义了七种CPU tensor类型和八种GPU tensor类型:
| Data tyoe | CPU tensor | GPU tensor |
|---|---|---|
| 32-bit floating point | torch.FloatTensor |
torch.cuda.FloatTensor |
| 64-bit floating point | torch.DoubleTensor |
torch.cuda.DoubleTensor |
| 16-bit floating point | N/A | torch.cuda.HalfTensor |
| 8-bit integer (unsigned) | torch.ByteTensor |
torch.cuda.ByteTensor |
| 8-bit integer (signed) | torch.CharTensor |
torch.cuda.CharTensor |
| 16-bit integer (signed) | torch.ShortTensor |
torch.cuda.ShortTensor |
| 32-bit integer (signed) | torch.IntTensor |
torch.cuda.IntTensor |
| 64-bit integer (signed) | torch.LongTensor |
torch.cuda.LongTensor |
根据可选择的大小和数据新建一个tensor
如果没有提供参数,将会返回一个空的零维张量。如果提供了
numpy.ndarray,torch.Tensor或torch.Storage,将会返回一个有同样参数的tensor.如果提供了python序列,将会从序列的副本创建一个tensor。
-
class torch.Tensor
class torch.Tensor(sizes)
class torch.Tensor(size)
class torch.Tensor(sequence or list)
class torch.Tensor(ndarray)
class torch.Tensor(tensor)
class torch.Tensor*(storage)
Numpy array转换为Tensor
tensor = torch.from_numpy(np.array())
Tensor转换为Numpy array
np.array = tensor.numpy()
Tensor返回一个数值
torch.Tensor.item(): 是得到一个元素张量里面的元素值(只能是一个值,比如loss,acc)
Tensor返回一个列表
tolist()
将对象转为指定类型
type(new_type=None, async=False)
Variable
Variable API 几乎和 Tensor API一致 (除了一些in-place方法,这些in-place方法会修改 required_grad=True的 input 的值)。多数情况下,将Tensor替换为Variable,代码一样会正常的工作。由于这个原因,我们不会列出Variable的所有方法,你可以通过torch.Tensor的文档来获取相关知识。
- detach(): Returns a new Variable, detached from the current graph.
参考:
Pytorch Docs










网友评论