

⚙️[error 상황] main.py에서 argparse를 이용해 하이퍼파라미터를 셋팅한 후, main()함수를 돌렸을 때 다음과 같은 에러가 발생할 수 있다.
💡[solution1]argparse를 꼭 쓰고 싶은 경우!
parser.parser_args(args=[])을 다음과 같이 바꿔준다.

이 때, vars()함수는 argparse를 딕셔녀리화하는 함수인데(e.g args['lr']=0.0002) 이 경우에선 사용할 수 있는 방법을 찾지 못했다. 따라서, parser.parser_args()를 parse_known_args()로 바꾼 경우에는 해당 메서드를 인스턴스화 할 때, vars()를 쓰지 않는다.
args,_ = get_args(debug=True) #args.lr=0.0002
💡[solution2] argparse를 안써도 되는 경우! easydict를 쓴다.
import easydict args = easydict.EasyDict({ "seed": 1, 'latent_dim':128, 'input_dim':5, 'compress_dims':(128,128), 'decompress_dims':(128.128), 'num_epochs': 30, "batch_size": 64, "lr": 0.0002, 'weight_decay':1e-5 }) #args.lr = 0.0002
code reference : https://github.com/an-seunghwan/synthesizers/blob/main/tvae/main.py
reference : https://www.peterbe.com/plog/vars-argparse-namespace-into-a-function
https://blog.naver.com/PostView.naver?blogId=shestory2015&logNo=221639995771