1. 포스팅 배경

최근 머신러닝 프로젝트를 하나 진행했는데 로컬에서는 학습시간이 오래걸려, 대부분 colab의 GPU를 사용해 학습을 진행하였다.

그런데 왠걸, colab에서 로컬로 다운로드한 model.h5을 로컬에서 load_model로 로드하니

ValueError: bad marshal data (unknown type code)

라고 에러가 났다. 처음엔 다운로드 중 손상으로 인한 오류인줄 알았지만, 다시 다운로드해도 마찬가지였다.

구글링해본 결과, Python version 차이가 원인이라고 한다!

!python --version

위의 코드를 통해 버전을 확인해보니, 로컬의 가상환경은 3.9.7, colab은 3.7.12였다.

로컬 가상환경을 3.7.12로 다운그레이드 하려고 구글링을 통해 온갖짓을 다해봤지만 실패했다.

그래서 결국 새 가상환경을 구성하기로 했다.....

예전에 해맸던, VScode에 가상환경을 등록하는 법도 같이 포스팅 하겠다.

 

특정 버전의 파이썬 가상환경 구축(명령 프롬프트)

cd 를 통해 가상환경을 모아놓은 디렉토리로 이동한다. 나는 venvs에 가상환경을 다 모아두고 관리하고있다.

아래 코드를 통해 원하는 Python version의 가상환경을 구축할 수 있다. 먼저 해당 버전의 파이썬을 다운해야한다.

py -원하는버전 -m venv 가상환경이름
py -3.7 -m venv colab

가상환경 구축은 끝났으며, 가상환경에 진입하고 싶으면 아래 코드를 통해 진입할 수 있다.

C:\venvs>cd colab\Scripts
C:\venvs\colab\Scripts>activate
(colab) C:\venvs\colab\Scripts>

 

Visual Studio Code(VScode)에 커널 등록하기

VScode에서 ctrl+shift+p를 누르면 뭔가 검색하는 창이 아래 그림처럼 생긴다.

안나오는 사람은 맨위의 탭에서 [보기] -> [뷰열기] 를 하면 창이 나오는데 view를 지워주고 위의 그림처럼 꺽쇠(>)를 입력해주면된다.

위의 그림에 나온 Python:Select interpreter 를 검색해 클릭하면 아래 그림처럼 환경들이 쭉 나오는데, 우리가 방금만든 가상환경은 안나올 것이다.

[+Enter interpreter path...] -> [Browse your file system to find a Python interpreter.]를 누른 후, 우리가 만든 가상환경 폴더로가 Scripts 폴더의 python을 선택해준다. 그럼 VScode에 가상환경 등록이 완료된다.

나의 경로는 c:\venvs\colab\Scripts\python.exe 이다.

위 그림의 우측의 빨간박스 부분을 누르면 가상환경을 연결시킬 수 있다.

+ Recent posts