Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Gradientes en PyTorch | Sección
Practice
Projects
Quizzes & Challenges
Cuestionarios
Challenges
/
Elementos Esenciales de PyTorch para Ingeniero de ML

bookGradientes en PyTorch

Note
Definición

En resumen, los gradientes son derivadas parciales de una función con respecto a sus entradas.

Los gradientes son fundamentales en 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 sobre tensores y calcula derivadas de manera eficiente.

Habilitación del seguimiento de gradientes

Para habilitar 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 se realizan 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 sencilla:

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 creado utilizando la biblioteca PyTorchViz puede parecer algo compleja, pero transmite de manera efectiva la idea principal detrás de ella:

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.

question mark

¿Cómo se puede acceder al gradiente calculado de un tensor después de la retropropagación en PyTorch?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 11

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

bookGradientes en PyTorch

Desliza para mostrar el menú

Note
Definición

En resumen, los gradientes son derivadas parciales de una función con respecto a sus entradas.

Los gradientes son fundamentales en 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 sobre tensores y calcula derivadas de manera eficiente.

Habilitación del seguimiento de gradientes

Para habilitar 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 se realizan 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 sencilla:

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 creado utilizando la biblioteca PyTorchViz puede parecer algo compleja, pero transmite de manera efectiva la idea principal detrás de ella:

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.

question mark

¿Cómo se puede acceder al gradiente calculado de un tensor después de la retropropagación en PyTorch?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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