히비스서커스의 블로그

[VSCode] Docker, SSH 환경에서 debugging 시에 이미지 확인하기 본문

Programming/IDE

[VSCode] Docker, SSH 환경에서 debugging 시에 이미지 확인하기

HibisCircus 2023. 8. 8. 15:35
728x90

이미지 분석을 주로 하다보니 VSCode에서 debugging하면서 이미지를 확인하고 싶어 관련 설정들을 찾아보았다. 개발 환경윈도우 개인 PC에서 우분투 서버로 SSH 접속을 하고 있으며 Docker로 컨테이너를 띄운 환경에 접속하여 세팅하였다. 이와 같은 경우 window 창을 띄워서 하는 것이 어려우므로 jupyter를 활용하여 확인하는 방법을 사용한다.

 

 

ipykernel 설치하기 및 VSCode 창 다시 띄우기

 

아래의 명령어로 ipykernell을 설치한 후

pip install -U ipykernel

F1을 누르고

Developer: Reload Window

를 통해 다시 VSCode 창을 띄워준다.

 

 

 

중단점 찍어주기

 

debug할 python 파일에 중단점을 찍어준다. 만약, debug할 모듈이 실행 파일(ex. main.py)에 없고 다른 파일 (ex. utils.py)에서 불러온다면 다른 파일에 debug 파일에 중단점을 찍어준다. 간단하게 예제로 main.py에는

from utils import make_8eye

if __name__ == '__main__':
    make_8eye()

utils.py에는

import numpy as np

def make_8eye():
    mask = np.eye(8, dtype=int)
    print(mask)
    return mask

로 한 후 utils.py의 print(mask) 부분에 중단점을 주었다.

 

 

 

Jupyter와 유사한 셀로 정의 후 debug 하기

 

실행파일 맨 위에 #%%을 넣어주어 Jupyter와 유사한 코드 셀로 정의한다. 그러면 자동으로 아래와 같이 Run Cell | Run Above | Debug cell 과 같은 버튼이 생긴다. 

 

Debug cell을 누르면 아래와 같이 Interactive-1과 같은 창이 띄워진다.

 

왼쪽 아래를 보면 일시 중지됨으로 되어 있기 때문에 계속을 눌러주어야 실행이 된다.

 

이제 중단점에서 멈추게 되었다. Interatvie-1 창의 변수를 클릭하면 디버깅할 수 있는 새로운 창이 띄워진다.

 

이제 debug 창에서 matploblib와 같은 라이브러리로 이미지를 확인하는 명령어를 내리면 확인할 수 있다.

 

 

 

활용

 

기존의 방식은 모듈화를 해놓은 코드를 (class와 같은 객체 지향으로 생성한 방식) jupyter notebook에 하나하나 풀어서 파헤쳤는데 시간도 오래걸릴 뿐더러 번거로움을 느꼈다. 하지만, VSCode에서 debug를 이용하면서 이미지까지도 직접 확인할 수 있으니 정공법으로 에러를 분석하는 느낌도 나고 편리하다!

728x90

'Programming > IDE' 카테고리의 다른 글

[VSCode] Python argparse 있는 파일 VSCode로 디버깅하기  (0) 2023.11.23