안경잡이개발자

728x90
반응형

  흔히 깃허브(GitHub)에 올라와 있는 다양한 프로젝트에서는 별도의 main.py 소스코드를 정의한 뒤에 인자(argument)를 넘겨 주어서 프로그램을 실행하는 방식을 많이 사용합니다. 이것이 가장 전통적인 방법이기도 하며, 실제로 코드를 이용하는 사람 입장에서는 소스코드를 다운로드 한 뒤에 인자 값과 함께 코드를 실행해야 합니다. 예를 들어 StarGAN공식 GitHub에 적혀 있는 내용을 가져오면 다음과 같습니다.

 

  main.py 코드를 실행하기 위해 매우 많은 인자(argument) 값을 넘겨주어야 오류 없이 실행됩니다.

 

 

  다만 Google Colab과 같이 주피터(Jupyter) 환경에서 직접 main.py의 코드를 수정하면서 실행해보고 싶은 사람은 어떻게 할 수 있을까요? 이럴 때 효과적으로 사용할 수 있는 라이브러리가 SimpleNamespace입니다. SimpleNamespace는 Python 3.3 버전에서 새롭게 표준 라이브러리로 추가되었습니다.

 

  대략 다음과 같이 사용하면 됩니다.

 

# args와 동일한 형태의 데이터 인자를 넘기기 위한 테크닉
from types import SimpleNamespace

args = SimpleNamespace()

args.dataset = "CelebA"
args.selected_attrs = ["Black_Hair", "Blond_Hair", "Brown_Hair", "Male", "Young"]
args.model_save_dir = "stargan_celeba_256/models"
args.num_workers = 1
args.mode = "test"

print("데이터셋:", args.dataset)
print("전체 인자 값:", args)

 

  실행 결과는 다음과 같습니다.

 

728x90
반응형