torch.Tensor常用函数

torch.Tensor

本笔记引用自PyTorch中文文档

torch.Tensor是一种包含单一数据类型元素的多维矩阵
Torch定义了7种CPU tensor和8种GPU tensor类型:

Data type 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
  • torch.Tensor是默认的tensor类型(torch.FloatTensor)的简称。
  • 每个张量tensor都有一个相应的torch.Storage用来保存其数据。会改变tensor的函数操作会用一个下划线后缀来标示。

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)

apply_(callable) -> Tensor:

将函数callable作用于tensor中每一个元素,并将每个元素用callable函数返回值替代。该函数只能在CPU tensor中使用,且不应用在有较高性能要求的代码块

byte() -> Tensor:

将tensor改为byte类型

clone() -> Tensor:

返回与原tensor有相同大小和数据类型的tensor

contiguous() -> Tensor:

返回一个内在连续的有相同数据的tensor, 如果原tensor内存连续则返回原tensor。

cpu() -> Tensor:

如果在CPU上没有该tensor,则会返回一个CPU的副本。

cuda(device=None, async=False):

返回此对象在GPU内存中的一个副本。若已在CUDA存储中并且在正确的设备上,则不会进行复制并返回原对象。

  • device(int) - 目的GPU的id,默认为当前的设备

data_ptr() -> int:

返回tensor第一个元素的地址。

fill_(value) -> Tensor:

将该tensor用指定的数值填充。

half():

将tensor投射为半精度浮点类型

is_contiguous() -> bool:

如果tensor在内存中是连续的则返回True

repeat(*sizes):

沿着指定的维度重复tensor,不同于expand(),本函数是复制tensor中的数据

  • sizes(torch.Size or int) - 沿每一维重复的次数。

storage() -> torch.Storage:

返回底层内存

stride() -> Tensor:

返回tensor的步长。

type(new_type=None, async=False):

将对象投为指定的类型,如果已经是正确的类型,则不会复制并返回原对象。


你可能感兴趣的:(torch.Tensor常用函数)