• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

손실함수 및 최적화방법 정의 부분 질문드립니다.

21.08.24 17:16 작성 조회수 165

0

안녕하세요~

1. noise  함수에서 return값  Variable은 어떤용도로 사용되는 코드인가요?

2. test_noise = noise(64)

64값은 임의로 정해주는게 맞나요?

3.학습부분.

fake_data = generator(noise(n)).detach()
        real_data = imgs.to(device)
        d_loss += train_discriminator(d_optim, real_data, fake_data)
        fake_data = generator(noise(n))
        g_loss += train_generator(g_optim, fake_data)
처음 fake_data에 detach()를 넣어준건 d_loss계산 후
g_loss 계산에 영향을 주지 않기 위해 detach()를 사용하는건가요?

 

답변 1

답변을 작성해보세요.

1

안녕하세요!

좋은 질문입니다 :)

Variable로 텐서를 만들면 자동미분 계산이 가능한 텐서로 만들 수 있습니다. 그런데 파이토치가 버전업 되면서 torch.tensor만으로도 requires_grad를 설정할 수 있어 사용하지 않는 추세입니다! 결국은 현재 우리가 쓰는 텐서와 동일하다고 보시면 될 것 같아요!

정찬희님의 프로필

정찬희

질문자

2021.08.24

혹시 detach()부분도 설명해 주실수 있나요? :)  질문 3번 목록에 있습니다.

일단 2번은 임의로 정한 숫자가 맞습니다. 3번은 detach()를 사용하여 기존 텐서로 부터 역전파 계산이 안되는 텐서를 얻을 수 있습니다.