Deep Learning Academy · Lección

Reglas de broadcasting que le ahorran bucles

Combine elemento a elemento tensores de formas diferentes

Lección 3 de 413 pasos

Reglas de broadcasting que le ahorran bucles es una lección gratuita de Deep Learning Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Deep Learning Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Deep Learning Academy incluye 4 lecciones en total.

Combinar sin hacer coincidir las formas

El broadcasting permite que PyTorch extienda un tensor más pequeño para ajustarlo a otro más grande, de modo que no tenga que escribir bucles para repetir valores.

Añadir un escalar a todo

El broadcasting más sencillo: añadir un número a un tensor completo. PyTorch lo aplica a cada elemento al mismo tiempo. ✨

x = torch.tensor([1, 2, 3])
print(x + 10)  # tensor([11, 12, 13])

Comparar las formas de derecha a izquierda

El broadcasting alinea las dimensiones empezando por la derecha. Después comprueba cada par para decidir si pueden combinarse.

Regla uno: los tamaños iguales coinciden

Dos dimensiones son compatibles cuando son iguales. Los tamaños coincidentes se alinean uno a uno sin necesidad de extenderlos.

Regla dos: el tamaño 1 se extiende

Si una dimensión es 1, se amplía para coincidir con la otra. Ese único valor se reutiliza a lo largo de todo el eje.

a = torch.tensor([[1], [2], [3]])
b = torch.tensor([10, 20])
print((a + b).shape)  # torch.Size([3, 2])

Las dimensiones ausentes cuentan como 1

Cuando un tensor tiene menos dimensiones, PyTorch lo completa con unos al principio. Así, un vector puede aplicar broadcasting con una matriz.

m = torch.ones(2, 3)
v = torch.tensor([1, 2, 3])
print((m + v).shape)  # torch.Size([2, 3])

Añadir un bias a lo largo de las filas

Un uso clásico: añadir un bias de fila a cada muestra de un batch. Un pequeño vector llega a todas las filas sin esfuerzo adicional.

batch = torch.zeros(4, 3)
bias = torch.tensor([1.0, 2.0, 3.0])
print((batch + bias).shape)  # torch.Size([4, 3])

Normalizar una columna de una vez

Reste la media de cada columna mediante broadcasting y centre los datos en una sola línea, sin necesitar un bucle sobre las filas.

x = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
m = x.mean(dim=0)
print(x - m)

Cuando las formas no permiten broadcasting

Si dos dimensiones son distintas y ninguna es 1, el broadcasting falla y PyTorch genera un error de tamaño claro.

Añadir dimensiones para dirigir el broadcasting

Utilice unsqueeze para insertar un eje de tamaño 1 exactamente donde lo necesite. Así puede orientar el broadcasting hacia la forma que desea.

col = torch.tensor([1, 2, 3]).unsqueeze(1)
print(col.shape)  # torch.Size([3, 1])

Por qué el broadcasting es rápido

El broadcasting nunca copia los valores extendidos, sino que los reutiliza. Por eso las operaciones vectorizadas son mucho más rápidas que los bucles de Python. 🚀

Comprobación rápida

¿Puede predecir si dos formas permitirán aplicar broadcasting?

Repaso: reglas del broadcasting

Ha aprendido las dos reglas: las dimensiones coinciden cuando son iguales o cuando una es 1. Domine esto y los bucles se convertirán en operaciones con tensores limpias y rápidas. 💪

Gratis para empezar

Aprende Python con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Reglas de broadcasting que le ahorran bucles» es gratis?

Sí — el texto completo de «Reglas de broadcasting que le ahorran bucles» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Deep Learning Academy, actualiza a CoddyKit PRO. El curso de Deep Learning Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Reglas de broadcasting que le ahorran bucles»?

Combine elemento a elemento tensores de formas diferentes Practicas Deep Learning Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Deep Learning Academy?

No se requiere experiencia previa. Deep Learning Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Reglas de broadcasting que le ahorran bucles»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Deep Learning Academy?

Sí. Cada lección de Deep Learning Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Formas, dtypes e indexación
  2. Reshape, view, squeeze y unsqueeze
  3. Reglas de broadcasting que le ahorran bucles
  4. Los tensores se comunican con NumPy
← Volver a Deep Learning Academy