Durée: 12 mois
Rubrique: Ingénieur IA
Dans cette leçon, nous allons plonger dans les tensors et les opérations dans PyTorch, qui est une bibliothèque puissante pour le deep learning. Les tensors sont l'épine dorsale de PyTorch, et comprendre comment les manipuler est essentiel pour réussir dans ce domaine.
Les tensors sont des structures de données, similaires aux tableaux (arrays) et matrices, qui peuvent être utilisées sur des GPU pour accélérer le calcul. En PyTorch, les tensors peuvent aller de scalaires (tensors de zéro dimension) à des tensors de N dimensions, où N est arbitraire.
```python import torch
tensor1d = torch.tensor([1, 2, 3])
tensor2d = torch.tensor([[1, 2, 3], [4, 5, 6]]) ```
Les principaux attributs d'un tensor incluent:
dtype : Type de données (ex: torch.float32
, torch.int64
)
device : Indique si le tensor est stocké sur le CPU ou le GPU (ex: torch.device('cpu')
)
shape : La forme ou la dimension du tensor
requiresgrad : Indique si les gradients doivent être calculés pour ce tensor
```python
tensor = torch.tensor([[1.0, 2.0], [3.0, 4.0]], dtype=torch.float32, requiresgrad=True)
print(tensor.dtype) print(tensor.device) print(tensor.shape) print(tensor.requiresgrad) ```
Les opérations sur les tensors sont vastes et flexibles. Vous pouvez effectuer des opérations élémentaires comme l'addition, la soustraction, la multiplication et la division, ainsi que des opérations plus compliquées comme les produits tensoriels, les convolutions, et plus encore.
```python
tensora = torch.tensor([1, 2, 3]) tensorb = torch.tensor([4, 5, 6])
tensorsum = tensora + tensorb
tensordiff = tensora tensorb
tensorproduct = tensora tensorb
tensorquotient = tensora / tensorb ```
Les opérations de réduction (somme, moyenne, max, min) sont souvent utilisées dans les algorithmes de deep learning:
```python tensor = torch.tensor([1, 2, 3, 4, 5], dtype=torch.float32)
tensorsum = torch.sum(tensor)
tensormean = torch.mean(tensor)
tensormax = torch.max(tensor)
tensormin = torch.min(tensor) ```
Manipuler les shapes des tensors est également une compétence clé. Vous pouvez redimensionner les tensors à l'aide de view
ou reshape
.
```python tensor = torch.tensor([[1, 2, 3], [4, 5, 6]], dtype=torch.float32)
reshapedtensor = tensor.view(3, 2) ```
Apprendre comment utiliser efficacement les tensors et opérations dans PyTorch vous permettra de créer des réseaux de neurones plus efficaces et performants.