Градієнти в PyTorch
Градієнти є основою в задачах оптимізації, таких як навчання нейронних мереж, де вони допомагають коригувати ваги та зсуви для мінімізації помилки. У PyTorch вони обчислюються автоматично за допомогою модуля autograd
, який відстежує операції над тензорами та ефективно обчислює похідні.
Увімкнення відстеження градієнтів
Щоб увімкнути відстеження градієнтів для тензора, використовується аргумент requires_grad=True
під час створення тензора. Це повідомляє PyTorch відстежувати всі операції над тензором для обчислення градієнтів.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
Побудова обчислювального графа
PyTorch створює динамічний обчислювальний граф під час виконання операцій над тензорами з requires_grad=True
. Цей граф зберігає зв'язки між тензорами та операціями, забезпечуючи автоматичне диференціювання.
Почнемо з визначення досить простої поліноміальної функції:
y = 5x
Наша мета — обчислити похідну за x
при x = 2
.
123456import 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}")
Візуалізація цього обчислювального графа, створеного за допомогою бібліотеки PyTorchViz, може виглядати дещо складною, але вона ефективно передає основну ідею:
Обчислення градієнтів
Для обчислення градієнта необхідно викликати метод backward()
для вихідного тензора. Це обчислює похідну функції відносно вхідного тензора.
Обчислений градієнт можна отримати за допомогою атрибута .grad
.
12345678import 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}")
Обчислений градієнт — це похідна y
за x
, обчислена при x = 2
.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 5
Градієнти в PyTorch
Свайпніть щоб показати меню
Градієнти є основою в задачах оптимізації, таких як навчання нейронних мереж, де вони допомагають коригувати ваги та зсуви для мінімізації помилки. У PyTorch вони обчислюються автоматично за допомогою модуля autograd
, який відстежує операції над тензорами та ефективно обчислює похідні.
Увімкнення відстеження градієнтів
Щоб увімкнути відстеження градієнтів для тензора, використовується аргумент requires_grad=True
під час створення тензора. Це повідомляє PyTorch відстежувати всі операції над тензором для обчислення градієнтів.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
Побудова обчислювального графа
PyTorch створює динамічний обчислювальний граф під час виконання операцій над тензорами з requires_grad=True
. Цей граф зберігає зв'язки між тензорами та операціями, забезпечуючи автоматичне диференціювання.
Почнемо з визначення досить простої поліноміальної функції:
y = 5x
Наша мета — обчислити похідну за x
при x = 2
.
123456import 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}")
Візуалізація цього обчислювального графа, створеного за допомогою бібліотеки PyTorchViz, може виглядати дещо складною, але вона ефективно передає основну ідею:
Обчислення градієнтів
Для обчислення градієнта необхідно викликати метод backward()
для вихідного тензора. Це обчислює похідну функції відносно вхідного тензора.
Обчислений градієнт можна отримати за допомогою атрибута .grad
.
12345678import 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}")
Обчислений градієнт — це похідна y
за x
, обчислена при x = 2
.
Дякуємо за ваш відгук!