PyCharm은 디버깅 세션을 통해 각 변수를 추적할 수 있는 기능을 제공합니다. 더 이상 매번 print문 찍으면서 에러 트래킹 할 필요가 없어요.
한가지 단점은 iterative에서의 트래킹은 어렵다는 부분입니다. 하지만 한 instance가 담고 있는 모든 변수, tensor 모양 등을 추적하기엔 굉장히 편리합니다.
PyCharm에서 어떻게 디버깅 세션을 실행시킬 수 있는지 정리해보도록 하겠습니다.
1. 실행파일에 디버깅 argument 추가
디버깅 세션을 사용하기 위해서는 argparse 모듈을 통해 디버깅 실험세팅을 해두는게 좋습니다
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--debug', action='store_true', help='debugging mode')
args = parser.parse_args()
if args.debug:
args.train_data = 'path/to/debug/data'
debug시 작은 데이터셋으로 실행해야 실행시간이 빠릅니다.
2. 디버깅 세션 설정
PyCharm 오른쪽 맨 위에 실행환경을 설정할 수 있는 버튼이 있습니다. 버튼을 눌러주고 edit configuration을 눌러 세션 실행 설정을 해줍니다.
각 입력란에 넣어야할 값은 다음과 같다
①Script Path: 실행할 파일 (ex. C:\Users\...\...\main.py
②Parameters: 디버깅 모드로 실행할 파이썬 파일 argument들 (ex. --train-path (데이터 경로) --debug --etc...)
③Python Interpreter: 디버깅 모드로 실행할 remote interpreter (설정 방법은 이 글을 참고해주세요)
④Working Directory: ①에서 실행시킬 파이썬 파일이 위치한 폴더
맨 위 Configuration 이름을 지정해서 ok를 눌러주면 왼쪽 Python 설정환경 리스트에 추가가 됩니다. 또한 파이썬 뿐만 아니라 shell script 파일도 실행이 가능합니다.
3. 디버깅 Break Point 추가
디버깅 모드에서 보고 싶은 variable, instance의 위치를 추가해줍니다. PyCharm IDE 화면에서 line number를 클릭해주면 빨간색 동그라미가 뜨며 디버깅 세션 실행시 해당 line에 대한 변수가 화면 아래 추가가 됩니다. Break Point는 여러개 추가 가능합니다.
4. 디버깅 세션 실행
화면 오른쪽 위에 초록색 곤충 모양 버튼을 누르면 디버깅 세션으로 실행이 되며 Break Point에서의 모든 variable, instance 등에 대한 정보를 출력해줍니다. 각각을 클릭하여 value, type 등을 확인할 수 있습니다.
'개발' 카테고리의 다른 글
[Tensorflow] tfds를 활용한 custom dataset 생성 (0) | 2021.03.09 |
---|---|
[ubuntu] zip, unzip 명령어 (0) | 2021.03.09 |
Docker Container 중지 없이 빠져나오기 (0) | 2021.02.09 |
딥러닝 개발환경 세팅기(Docker, PyCharm) (2) (4) | 2021.02.09 |
딥러닝 개발환경 세팅기(Docker, PyCharm) (1) (2) | 2021.02.09 |