강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

정찬희님의 프로필 이미지
정찬희

작성한 질문수

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

패션 아이템 생성 - 생성적 적대 신경망(GAN)

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

작성

·

264

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를 설정할 수 있어 사용하지 않는 추세입니다! 결국은 현재 우리가 쓰는 텐서와 동일하다고 보시면 될 것 같아요!

정찬희님의 프로필 이미지
정찬희
질문자

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

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

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

정찬희님의 프로필 이미지
정찬희

작성한 질문수

질문하기