Style GAN3 분석해보자

DataRich·2023년 8월 23일

GPU

목록 보기
3/3

📌 train.py

main(**kwargs)
dnnlib
데이터셋팅 (init_dataset_kwargs)
④ 하이퍼파라미터 셋팅(GPU, batch, G_kwargs,D_kwargs ...)
    "--cfg"
    Style GAN3 or Style GAN3 설정(config)한다.
⑤ Augmentation셋팅
⑥ Resume 셋팅
⑦ opt(옵티마이저) 셋팅
⑧ launch_training()

분석 내용

  1. Discriminator는 stylegan2 그대로 쓴다.(c.D_kwargs)
  2. Generator는 stylegan2 or stylegan3 선택 가능하다.
  3. 옵티마이저는 torch.optim.Adam 사용하고 있다.
  4. training_options.json 파일 열어서 읽어온다.
  5. Batchsize는 dnnlib.EasyDict(kwargs) 즉, 사용자 입력!
    images로 표기되어있으며, 몇 개의 이미지를 로딩해서 동시에 작업할 것인가와 연관되어있다고 추정함.
  6. batch-gpu는 GPU 전용 메모리와 관련되어있으며 몇 개의 이미지를 로딩해서 동시에 작업할 것인가와 연관되어있다고 추정함. 여기서 핵심은, batchsize는 batch-gpu보다 크게 설정해도 된다고 되어있으며, 실제로 그런식으로 하는 것이 온도최적화 및 부하가 적절히 걸리면서 안정적인 딥러닝에 도움이 된다.
  7. kimg는 Training Duration으로 표기되어있음. 기본셋팅은 1tic = 4kimg이며 기본적으로 300tic 이상은 해야 최소한의 형태가 보이기 시작할 것. 몇 틱 단위로 snap샷을 저장할 것인지 설정가능하다. 4틱 단위로 pkl 저장을 권장. 다만, 용량이 크므로 적절히 조절바람.
def main(**kwargs):
    for key, value in kwargs.items():
        print(f"Key: {key}, Value: {value}")

main(arg1=10, arg2="hello", arg3=True)

================== 출력 =====================
Key: arg1, Value: 10
Key: arg2, Value: hello
Key: arg3, Value: True
=============================================
profile
머신러닝 엔지니어 도전

0개의 댓글