0Pricing
Learn AI with Python · Lección

Tensores y Autograd de PyTorch

torch.Tensor, requires_grad, backward(), cálculo de gradientes y operaciones con tensores.

Tensores y Autograd de PyTorch es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 1 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 Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué es PyTorch?

PyTorch es un framework de aprendizaje profundo basado en tensores, matrices multidimensionales con aceleración mediante GPU y diferenciación automática. Los dos pilares que debe dominar primero son los tensores y autograd.

pip install torch

import torch

Creación de tensores

Un tensor es como un array de NumPy, pero puede residir en una GPU y hacer seguimiento de gradientes. Cree uno con torch.tensor. Los tensores tienen un shape y un dtype.

x = torch.tensor([1.0, 2.0, 3.0])
print(x.shape)   # torch.Size([3])
print(x.dtype)   # torch.float32

Operaciones con tensores

Los tensores admiten operaciones matemáticas elemento a elemento, multiplicación de matrices y cambios de forma. Las operaciones están vectorizadas y se ejecutan rápidamente en el hardware. Esta es la base computacional de toda red neuronal.

a = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
b = torch.tensor([[5.0, 6.0], [7.0, 8.0]])
print(a + b)
print(a @ b)  # matrix multiply

requires_grad: seguimiento de gradientes

Para calcular gradientes, cree un tensor con requires_grad=True. PyTorch registra entonces cada operación realizada sobre él y construye un grafo computacional que puede diferenciar posteriormente.

x = torch.tensor([2.0, 3.0], requires_grad=True)
print(x.requires_grad)  # True

Construcción de un cálculo

Aplique operaciones a un tensor que haga seguimiento de gradientes para producir una salida escalar. Aquí elevamos al cuadrado cada elemento y luego sumamos, lo que da un único número que podemos diferenciar con respecto a x.

x = torch.tensor([2.0, 3.0], requires_grad=True)
y = x.pow(2).sum()   # y = x0^2 + x1^2
print(y)             # tensor(13., grad_fn=...)

Llamar a backward()

Llame a .backward() sobre un escalar para calcular gradientes mediante retropropagación. PyTorch recorre hacia atrás el grafo registrado y completa automáticamente las derivadas.

y.backward()

Leer .grad

Después de backward(), cada tensor de entrada contiene su gradiente en .grad. Para y = sum(x^2), la derivada es 2x, por lo que el gradiente es [4, 6].

print(x.grad)  # tensor([4., 6.])

Los gradientes se acumulan

Un detalle sutil: los gradientes se acumulan en varias llamadas a backward(). En un bucle de entrenamiento debe ponerlos a cero en cada paso con x.grad.zero_() o con el zero_grad() del optimizador.

x.grad.zero_()  # reset before the next backward()

torch.no_grad() para inferencia

Durante la inferencia no necesita gradientes, y hacerles seguimiento desperdicia memoria. Coloque el código de predicción dentro de with torch.no_grad(): para desactivar la construcción del grafo y acelerar el proceso.

with torch.no_grad():
    preds = x.pow(2).sum()
    print(preds.requires_grad)  # False

detach() para detener el flujo de gradientes

.detach() devuelve un tensor que comparte los datos, pero queda fuera del grafo computacional. Úselo para utilizar un valor sin permitir que los gradientes fluyan a través de él, por ejemplo al registrar datos o congelar parte de una red.

z = x.detach()
print(z.requires_grad)  # False

Por qué es importante Autograd

Autograd es lo que hace práctico el aprendizaje profundo: usted define el cálculo hacia delante y PyTorch deriva automáticamente los gradientes para la retropropagación. Todo bucle de entrenamiento que escriba se basa en requires_grad, backward y .grad.

Comprobación rápida

Ponga a prueba sus conocimientos sobre autograd.

Repaso: tensores y autograd

Creó tensores con torch.tensor y activó el seguimiento de gradientes mediante requires_grad=True. Calculó una salida, ejecutó .backward() y leyó las derivadas desde .grad. Aprendió que los gradientes se acumulan, utilizó torch.no_grad() para la inferencia y .detach() para interrumpir el flujo de gradientes.

Preguntas frecuentes

¿La lección «Tensores y Autograd de PyTorch» es gratis?

Sí — el texto completo de «Tensores y Autograd de PyTorch» 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 Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Tensores y Autograd de PyTorch»?

torch.Tensor, requires_grad, backward(), cálculo de gradientes y operaciones con tensores. Practicas Learn AI with Python 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 Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python 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 1 de 4.

¿Cuánto tiempo toma la lección «Tensores y Autograd de PyTorch»?

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 Learn AI with Python?

Sí. Cada lección de Learn AI with Python 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. Tensores y Autograd de PyTorch
  2. Datasets y DataLoaders personalizados
  3. Construcción y entrenamiento de CNN con PyTorch
  4. Detección de objetos con YOLOv8
← Volver a Learn AI with Python