Visual studio code, pipenv를 활용한 강화학습 개발 환경 꾸리기(3)
Quickstart
이번에는 PyTorch 공식 튜토리얼의 Quickstart 부분을 따라해볼 예정입니다. 이 튜토리얼에서는 FashionMINST 데이터 셋을 다운받고 여러 패션 아이템들 이미지를 분류하는 실습을 진행합니다.
AI, 학습모델, MINST set과 같은 내용은 공식 튜토리얼과 다른 좋은 자료들을 참고하시기 바랍니다. 이 포스트는 VS code를 어떻게 이용하는지에 대한 내용을 중점적으로 다루겠습니다.
먼저 VS code를 열고 우리가 만든 가상환경 폴더를 열어봅시다. 그리고 빈 Python 파일을 하나 만들겠습니다. 만들면 오른쪽 EXPLORER 탭에 방금 만든 파일이 보일겁니다. 저는 quickstart.py 라는 이름으로 만들었습니다.
Quickstart 페이지에 접속하고 이 페이지의 Python 코드를 그대로 복사하겠습니다. 친절하게도 코드 블록들은 자동 복사가 가능하네요.
회색 블록 안에 모든 코드들을 차례차례 순서대로 quickstart.py 안으로 복사해주세요. 주의할 점은 만약 지금 벌써 VS code의 extension 중 Python, Pylance 등 파이썬 보조 도구를 미리 설치하셨다면 복사 하실 때 자동 들여쓰기를 주의해 주세요.
만약 extension이 없다면 지금 설치해 줍시다. 가장 오른쪽 아이콘 메뉴에서 extentions 아이콘을 누르고 py을 검색해서 설치해 줍시다. 아마도 Python을 설치하면 Pylance도 자동으로 설치될 겁니다.
이제 우리가 만든 quickstart.py 파이썬 스크립트를 실행해 보겠습니다. 이제는 윈도우 시작 메뉴에서 여는 터미널이 아닌 VS code에 내장된 터미널 기능을 사용하겠습니다. 앞으로는 터미널창, 편집기창 두개를 열는 것이 아니라 VS code 하나만 열면 되겠군요!
VS code 맨 위 메뉴들 중 terminal -> New terminal을 선택해 줍시다. 하단에 새로운 터미널 창이 열렸습니다. 자 그럼 가상환경 실행, 파이썬 스크립트 실행을 하기위해 아래 커맨드를 입력해 줍니다.
pipenv shell
python quickstart.py
이 Pytorch 튜토리얼은 먼저 Minst 데이터 셋을 다운받고 AI 모델을 학습한 뒤 학습된 모델은 model.pth 이라는 파일로 저장하고 테스트 이미지 하나를 집어 넣는 튜토리얼입니다. 여러분 폴더에 data 폴더와 model.pth 파일이 새로 생기고 테스트로 입력한 앵클 부츠 이미지를 모델이 정확하게 추론했으면 성공입니다.
(현재 제가 다니는 회사에서는 보안상의 이유로 PyTorch에서 제공하는 데이터 셋을 다운받지 못하도록 막혀있네요ㅠㅠ 다운이 가능한 네트워크를 이용해주세요.)
하지만 이렇게 직접 터미널 창에 커맨드를 넣는 방식은 VS code라는 좋은 툴을 두고 맨손으로 작업하는 것과 마찬가지 입니다. 자 그럼 좋은 툴을 이용하여 생산성을 높여봅시다. VS code를 이용하여 직접 실행하는 방법을 알아볼건데 이렇게 해야하는 이유는 강력한 디버깅 기능때문입니다.
VS code에서 직접 실행하기
위 그림에서 import from 키워드 옆에 노란색 밑줄이 그어진게 보이시나요? 지금 VS code에 적절한 파이썬 인터프리터를 설정해주지 않아서 설치가 되어있는 패키지를 못찾고있기 때문입니다. 우리는 가상환경을 꾸리고 그 안에 이 가상환경만을 위한 인터프리터를 설치해두었습니다. 선택해 봅시다. 아래 그림과 같이 하단부를 클릭하고 Global 인터프리터가 아닌 가상환경 인터프리터를 선택해 주시면 됩니다.
위 그림에서는 Recommended가 아닌 가장 아래 my_project 환경을 선택해야겠죠? 이렇게 정확한 인터프리터를 선택하면 드디어 VS code가 패키지를 찾으면서 노란색 밑줄이 사라진 것을 볼 수 있습니다.
그 후 Ctrl + F5 키(Run Without Debugging)를 누르면 VS code가 파이썬 스크립트를 실행시켜주는 것을 보실 수 있습니다.
앞으로 수도없이 누를 단축키는 F5 키(Start Debugging)입니다. F5 를 누르면 디버그 설정을 고르라고 하네요. 파이썬 파일을 골라줍시다. 그러면 이전 디버깅 없이 실행한 모드와 비슷하게 스크립트가 실행됩니다. 디버깅 모드에서 무슨 일들을 할 수 있는지 추후 포스트에서 말씀드리겠습니다.
참고
우리가 만든 스크립트를 실행하거나 디버그 모드로 실행하면 빨간색 권한 관련 경고 메세지가 뜨네요. 예전에는 아예 실행이 안됐던 것 같은데 언제부턴가 실행이 되는 것 같습니다. 이 튜토리얼에서는 큰 상관이 없어서 그냥 진행하겠습니다. 관심있으신 분들은 PowerShell 권한 관련해서 찾아보면 좋을 것 같습니다.