Les règles de diffusion qui vous évitent les boucles
Combinez élément par élément des tenseurs de formes différentes.
Les règles de diffusion qui vous évitent les boucles est une leçon Deep Learning Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Deep Learning Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Deep Learning Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Combine Without Matching Shapes
Broadcasting lets PyTorch stretch a smaller tensor to fit a bigger one, so you skip writing loops to repeat values.
Add a Scalar to Everything
The simplest broadcast: add one number to a whole tensor. PyTorch applies it to every element at once. ✨
x = torch.tensor([1, 2, 3])
print(x + 10) # tensor([11, 12, 13])Compare Shapes Right to Left
Broadcasting lines up dimensions from the right. It then checks each pair to decide if they can combine.
Rule One: Equal Sizes Match
Two dimensions are compatible when they are equal. Matching sizes line up one to one with no stretching needed.
Rule Two: A Size of 1 Stretches
If one dimension is 1, it expands to match the other. That single value is reused across the whole axis.
a = torch.tensor([[1], [2], [3]])
b = torch.tensor([10, 20])
print((a + b).shape) # torch.Size([3, 2])Missing Dimensions Count as 1
When one tensor has fewer dimensions, PyTorch pads it with leading ones. A vector can broadcast against a matrix this way.
m = torch.ones(2, 3)
v = torch.tensor([1, 2, 3])
print((m + v).shape) # torch.Size([2, 3])Add a Bias Across Rows
A classic use: add a row bias to every sample in a batch. One small vector reaches every row for free.
batch = torch.zeros(4, 3)
bias = torch.tensor([1.0, 2.0, 3.0])
print((batch + bias).shape) # torch.Size([4, 3])Normalize a Column at Once
Subtract a per-column mean with broadcasting and center your data in one line, no loop over rows required.
x = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
m = x.mean(dim=0)
print(x - m)When Shapes Don't Broadcast
If two dimensions differ and neither is 1, the broadcast fails and PyTorch raises a clear size error.
Add Dimensions to Steer Broadcasting
Use unsqueeze to insert a size-1 axis exactly where you need it. This guides broadcasting toward the shape you want.
col = torch.tensor([1, 2, 3]).unsqueeze(1)
print(col.shape) # torch.Size([3, 1])Why Broadcasting Is Fast
Broadcasting never copies the stretched values, it reuses them. That makes vectorized math far faster than Python loops. 🚀
Quick Check
Can you predict whether two shapes will broadcast?
Recap: Broadcasting Rules
You learned the two rules: dimensions match when equal or when one is 1. Master this and loops melt into clean, fast tensor math. 💪
Questions Fréquemment Posées
La leçon « Les règles de diffusion qui vous évitent les boucles » est-elle gratuite ?
Oui — le texte complet de « Les règles de diffusion qui vous évitent les boucles » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Deep Learning Academy, passe à CoddyKit PRO. Le cours Deep Learning Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Les règles de diffusion qui vous évitent les boucles » ?
Combinez élément par élément des tenseurs de formes différentes. Tu pratiques Deep Learning Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Deep Learning Academy ?
Aucune expérience préalable n'est requise. Deep Learning Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Les règles de diffusion qui vous évitent les boucles » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Deep Learning Academy ?
Oui. Chaque leçon Deep Learning Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Formes, types et indexation
- Redimensionner, afficher, supprimer et ajouter des dimensions
- Les règles de diffusion qui vous évitent les boucles
- Les tenseurs communiquent avec NumPy