Q. 랜덤하게 생성한 텐서가 특정 텐서 값을 근사계산하게끔

→ 랜덤 생성한 텐서의 값을 경사하강법을 활용해 이리저리 바꿔가며 함수의 출력값(목표텐서와의 차이 값)을 최소화하도록 하기

  1. 구현에 필요한 패키지 불러오기
import torch
import torch.nn.functional as F
  1. 목표 텐서 생성
target = torch.FloatTensor([[.1,.2,.3,],
														[.4,.5,.6],
														[.7,.8,.9]])
  1. 랜덤 값을 갖는 텐서 하나 생성 (requires_grad = True)로 설정
x = torch.rand_like(target)
x.requires_grad = True

print(x)

결과
tensor([[0.8888, 0.7825, 0.4902],
        [0.4046, 0.9947, 0.0120],
        [0.6554, 0.3357, 0.7663]], requires_grad=True)
  1. 두 텐서 사이의 손실 값 계산
loss = F.mse_loss(x, target)

loss

결과
tensor(0.2026, grad_fn=<MseLossBackward0>)