Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Gradientes en PyTorch | Conceptos Más Avanzados
Esenciales de PyTorch

bookGradientes en PyTorch

Los gradientes son fundamentales en las tareas de optimización como el entrenamiento de redes neuronales, donde ayudan a ajustar los pesos y sesgos para minimizar el error. En PyTorch, se calculan automáticamente utilizando el módulo autograd, que rastrea las operaciones en tensores y calcula derivadas de manera eficiente.

Activación del seguimiento de gradientes

Para activar el seguimiento de gradientes en un tensor, se utiliza el argumento requires_grad=True al crear el tensor. Esto indica a PyTorch que registre todas las operaciones sobre el tensor para el cálculo de gradientes.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Construcción de un grafo computacional

PyTorch construye un grafo computacional dinámico a medida que realizas operaciones sobre tensores con requires_grad=True. Este grafo almacena las relaciones entre tensores y operaciones, permitiendo la diferenciación automática.

Comenzaremos definiendo una función polinómica bastante simple:

y = 5x3 + 2x2 + 4x + 8

El objetivo es calcular la derivada con respecto a x en x = 2.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

La visualización de este grafo computacional creada utilizando la biblioteca PyTorchViz puede parecer algo compleja, pero transmite de manera efectiva la idea principal:

Cálculo de Gradientes

Para calcular el gradiente, se debe llamar al método backward() sobre el tensor de salida. Esto calcula la derivada de la función con respecto al tensor de entrada.

El gradiente calculado puede ser accedido mediante el atributo .grad.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

El gradiente calculado es la derivada de y con respecto a x, evaluada en x = 2.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain how the backward() method works in more detail?

What does the computational graph represent in PyTorch?

How is the gradient value interpreted in this example?

Awesome!

Completion rate improved to 5

bookGradientes en PyTorch

Desliza para mostrar el menú

Los gradientes son fundamentales en las tareas de optimización como el entrenamiento de redes neuronales, donde ayudan a ajustar los pesos y sesgos para minimizar el error. En PyTorch, se calculan automáticamente utilizando el módulo autograd, que rastrea las operaciones en tensores y calcula derivadas de manera eficiente.

Activación del seguimiento de gradientes

Para activar el seguimiento de gradientes en un tensor, se utiliza el argumento requires_grad=True al crear el tensor. Esto indica a PyTorch que registre todas las operaciones sobre el tensor para el cálculo de gradientes.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Construcción de un grafo computacional

PyTorch construye un grafo computacional dinámico a medida que realizas operaciones sobre tensores con requires_grad=True. Este grafo almacena las relaciones entre tensores y operaciones, permitiendo la diferenciación automática.

Comenzaremos definiendo una función polinómica bastante simple:

y = 5x3 + 2x2 + 4x + 8

El objetivo es calcular la derivada con respecto a x en x = 2.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

La visualización de este grafo computacional creada utilizando la biblioteca PyTorchViz puede parecer algo compleja, pero transmite de manera efectiva la idea principal:

Cálculo de Gradientes

Para calcular el gradiente, se debe llamar al método backward() sobre el tensor de salida. Esto calcula la derivada de la función con respecto al tensor de entrada.

El gradiente calculado puede ser accedido mediante el atributo .grad.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

El gradiente calculado es la derivada de y con respecto a x, evaluada en x = 2.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 1
some-alt