本系列记录了博主学习PyTorch过程中的笔记。本文记录的是torch包的相关内容,官方网址。只记录了一部分博主用到的,持续更新。更新于2019.03.21。
torch包包括了用于多维张量的数据结构,并定义了对于它们的数学计算。此外,这个包也提供了多种有效的张量及任意类型的并行化用法,以及其他有用的方法。
这个包对应于CUDA,允许用户在NVIDIA GPU(运算能力>=3.0)上运行张量计算。
文章目录
- 张量(Tensors)
-
- torch.is_tensor(obj)
- torch.is_storage(obj)
- torch.set_defaul_dtype(d)
- torch.get_default_type() → torch.dtype
- torch.set_default_tensor_type(t)
- torch.numel(input) → int
- torch.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, profile=None)
- torch.set_flush_denormal(mode) → bool
- 运算
-
- torch.tensor(data, dtype=None, device=None, requires_grad=False) → Tensor
- torch.sparse_coo_tensor(indices, values, size=None, dtype=None, device=None, requires_grad=False) → Tensor
- torch.as_tensor(data, dtype=None, device=None) → Tensor
- torch.from_numpy(ndarray) → Tensor
- torch.zeros(*sizes, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
- torch.zeros_like(input, dtype=None, layout=None, device=None, requires_grad=False) → Tensor
- torch.ones(*sizes, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
- torch.ones_like(input, dtype=None, layout=None, device=None, requires_grad=False) → Tensor
- torch.arange(start=0, end, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
- torch.range(start=0, end, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
- torch.squeeze(input, dim=None, out=None) → Tensor
张量(Tensors)
torch.is_tensor(obj)
如果obj是一个PyTorch张量,返回True。
参数: obj(object)——用于测试的目标
torch.is_storage(obj)
如果obj是一个存储对象(storage object)则返回True。
参数: obj(object)——用于测试的目标
torch.set_defaul_dtype(d)
将默认的浮点数据类型(gloating point type)设成d
。这个类型将作为默认浮点数据类型用于在torch.tensor()
内的类型推断。
初始默认浮点数据类型是torch.float32
。
参数: d(torch.dtype
)——将被作为默认的浮点数据类型
例子:
>>> torch.tensor([1.2, 3]).dtype # initial default for floating point is torch.float32
torch.float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.tensor([1.2, 3]).dtype # a new floating point tensor
torch.float64
torch.get_default_type() → torch.dtype
获取当前默认的浮点torch.dtype
。
例子:
>>> torch.get_default_dtype() # initial default for floating point is torch.float32
torch.float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.get_default_dtype() # default is now changed to torch.float64
torch.float64
>>> torch.set_default_tensor_type(torch.FloatTensor) # setting tensor type also affects this
>>> torch.get_default_dtype() # changed to torch.float32, the dtype for torch.FloatTensor
torch.float32
torch.set_default_tensor_type(t)
将默认的torch.Tensor
类型设成浮点张量类型t
。这个类型将同样被用于torch.tensor()
浮点数类型的类型推断。
初始默认浮点张量类型是torch.FloatTensor
。
参数: t(type或string)——浮点张量类型或其名字
例子:
>>> torch.tensor([1.2, 3]).dtype # initial default for floating point is torch.float32
torch.float32
>>> torch.set_default_tensor_type(torch.DoubleTensor)
>>> torch.tensor([1.2, 3]).dtype # a new floating point tensor
torch.float64
torch.numel(input) → int
返回一个输入张量中的所有元素的个数。
参数: 输入(Tensor)——输入的张量
例子:
>>> a = torch.randn(1, 2, 3, 4, 5)
>>> torch.numel(a)
120
>>> a = torch.zeros(4,4)
>>> torch.numel(a)
16
torch.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, profile=None)
从NumPy中取来的用于显示items的操作。
参数: