Багатокрокове Зворотне Поширення
Як і 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
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
.
Рішення
Дякуємо за ваш відгук!
Awesome!
Completion rate improved to 5single