Багатокрокове Зворотне Поширення
Як і Tensorflow, PyTorch також дозволяє створювати складніші обчислювальні графи, що містять декілька проміжних тензорів.
12345678910111213import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
Градієнт output_mean по відношенню до x обчислюється за допомогою правила ланцюга. Результат показує, наскільки невелика зміна кожного елемента x впливає на output_mean.
Вимкнення відстеження градієнтів
У деяких випадках може виникнути потреба вимкнути відстеження градієнтів для економії пам'яті та обчислювальних ресурсів. Оскільки requires_grad=False є поведінкою за замовчуванням, можна просто створити тензор без зазначення цього параметра:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Вам потрібно побудувати просту нейронну мережу у PyTorch. Ваша мета — обчислити градієнт функції втрат відносно матриці ваг.
- Визначте випадкову матрицю ваг (тензор)
Wрозмірності1x3, ініціалізовану значеннями з рівномірного розподілу на [0, 1], з увімкненим відстеженням градієнтів. - Створіть вхідну матрицю (тензор)
Xна основі цього списку:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Виконайте матричне множення між
WтаXдля обчисленняY. - Обчисліть середньоквадратичну помилку (MSE):
loss = mean((Y - Ytarget)
2 ). - Обчисліть градієнт функції втрат (
loss) відносноWза допомогою зворотного поширення помилки. - Виведіть обчислений градієнт
W.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain how the gradients are calculated in this example?
What happens if I change the values in the tensor `x`?
How does disabling gradient tracking affect performance?
Awesome!
Completion rate improved to 5
Багатокрокове Зворотне Поширення
Свайпніть щоб показати меню
Як і Tensorflow, PyTorch також дозволяє створювати складніші обчислювальні графи, що містять декілька проміжних тензорів.
12345678910111213import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
Градієнт output_mean по відношенню до x обчислюється за допомогою правила ланцюга. Результат показує, наскільки невелика зміна кожного елемента x впливає на output_mean.
Вимкнення відстеження градієнтів
У деяких випадках може виникнути потреба вимкнути відстеження градієнтів для економії пам'яті та обчислювальних ресурсів. Оскільки requires_grad=False є поведінкою за замовчуванням, можна просто створити тензор без зазначення цього параметра:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Вам потрібно побудувати просту нейронну мережу у PyTorch. Ваша мета — обчислити градієнт функції втрат відносно матриці ваг.
- Визначте випадкову матрицю ваг (тензор)
Wрозмірності1x3, ініціалізовану значеннями з рівномірного розподілу на [0, 1], з увімкненим відстеженням градієнтів. - Створіть вхідну матрицю (тензор)
Xна основі цього списку:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Виконайте матричне множення між
WтаXдля обчисленняY. - Обчисліть середньоквадратичну помилку (MSE):
loss = mean((Y - Ytarget)
2 ). - Обчисліть градієнт функції втрат (
loss) відносноWза допомогою зворотного поширення помилки. - Виведіть обчислений градієнт
W.
Рішення
Дякуємо за ваш відгук!
single