-
[colab 환경] colab환경에서 돌리고자 할 때, argparse에 포함된 인자들을 편하게 처리하는 방법Data miner/Developer 2021. 4. 8. 17:55728x90
Github의 많은 소스 코드는 다음과 같이 명령창 또는 콘솔에서 실행할 수 있도록 짜여있다.
python train.py --epochs 50 --batch-size 64
로컬의 자원이 특정 모델을 돌리기에 충분하지 않을 경우, Colab을 활용하게 된다. 이 때, argparse에 정의된 인자들을 어떻게 처리해야 할까? 직접 코드를 하드 코딩으로 인자 입력 칸에 넣는 방법도 있다. 하지만, arparse로 정의된 인자들을 일일이 찾아서 변경하는 것은 여간 귀찮은 일이 아니다.
파이썬의 easydict 라이브러리를 사용하여, dict자료형에 argparse에 정의된 인자들을 넣어준다. easydict라이브러리는 딕셔너리의 키값을 dic.certain_key라는 식으로 '.'으로 접근할 수 있게 한다. Javascript와 유사한 속성 도트 표기법이라고 할 수 있다.
사용 예시는 다음과 같다.
import easydict args = easydict.EasyDict({ "epoch": 50, "pretrain": 0, "batch_size" : 512, "hidden_factor" : 64, "lamda" : 0.0, "lr" : 0.05, "optimizer" : 'AdagradOptimizer', 'verbose' : 1, 'layers' : '[64]', 'keep_prob' : '[0.5,0.5]', 'attention_size' : 32, 'alpha' : 0.5, 'reg_t' : 0.01, 'movie_data_file' : '/content/gdrive/My Drive/RCF/ML100K/auxiliary-mapping.txt' })
easydict를 사용하면, 각각의 인자들을 다음과 같이 '.' 도트 형태로 접근할 수 있어, 코드를 덜 수정해도 된다.
args.layers, args.epoch
'Data miner > Developer' 카테고리의 다른 글
[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) 2023.06.29 [mac환경 ]Konlpy_kkma(꼬꼬마) 형태소 분석기에 분석 단어 추가 하기 (0) 2021.03.15 [AI service api] 네이버의 AI 기술 서비스 API 신청하여 사용해보기 (0) 2020.01.29 [Developer] [node.js] 10. 입력 정보에 대한 보안 (0) 2020.01.29 [Developer] [node.js] 9. 글 수정하기 기능 만들기 3) 수정된 내용 저장하기 (0) 2020.01.28