It starts with a tensor
NO.1 Preface
- The first step of this process is converting the input into floating-point numbers.
- PyTorch introduces a fundamental data structure: the tensor.
NO.2 Tensor fundamentals
- A tensor is an array—that is, a data structure storing collection of numbers that are accessible individually by means of an index and that can be indexed with multiple
indices. - Using Python lists to store the vector is suboptimal.
- Numbers in Python are full-fledged objects.
- Lists in Python are meant for sequential collections of objects.(运算问题)
- The Python interpreter is slow compared with optimized, compiled code.
- Example:
- Python lists or tuples of numbers are collections of Python objects that are individually allocated in memory, as shown on the left side of figure 2.3. PyTorch tensors or NumPy arrays, on the other hand, are views over (typically) contiguous memory blocks containing unboxed C numeric types, not Python objects.(Python中一切皆是对象,在列表中存储的是对象的地址)
Get a tensor
-
1D tensor
-
2D
import torch
a = torch.tensor([[1,2,4], [2,3,5]])
>>> tensor([[1, 2, 4],
[2, 3, 5]])
- Shape
a.shape
>>> torch.Size([2, 3])
You could also use zeros or ones to initialize the tensor, providing the size as a tuple:
d = torch.zeros(3,2)
>>> tensor([[0., 0.],
[0., 0.],
[0., 0.]])
Indices:
d[1,1]
>>> tensor(0.)
d[1]
>>> tensor([0., 0.])