SageMaker Studio에서 영구적 가상환경 만들기

    목차
반응형

0. 상황

대표적인 SageMaker의 단점 중 하나는 인스턴스를 껐다 켜면 `pip install`로 설치했던 패키지들이 다 초기화된다는 점이다. 그래서 라이프사이클(수명 주기)로 인스턴스를 켤 때마다 자동으로 실행되게 해야했다. 근데 SageMaker Studio에서는 그렇게 관리할 필요 없이 영구적 가상환경을 만들어 패키지 삭제가 되지 않도록 설정할 수 있게 되었다.

 

1. 방법

1. Sagemaker Studio의 jupyterlab에 접속한다.

2. Terminal을 연다.

3. 아래 명령어를 차례대로 입력한다.

mkdir -p ~/.conda/envs
conda create --yes -p ~/.conda/envs/{가상환경명} python=3.9
conda activate ~/.conda/envs/{가상환경명}
conda install -y ipykernel
conda config --add envs_dirs ~/.conda/envs
python -m ipykernel install --user --name {가상환경명} --display-name "{커널명}"

- 2번 라인에서 python 버전을 지정한다. (지정하지 않으면 최신 버전 python이 설치됨)
- 3번 라인에서 오류(conda activate 명령어가 없다는 오류)가 날 시, `conda init` 입력 후 터미널을 다시 연다.

 

4. 조금 기다리면 가상환경이 새롭게 생긴다.

새롭게 생긴 가상환경 mlops

5. 이렇게 하면 노트북 인스턴스를 껐다 켜도 가상환경이 그대로 남아있다. (`pip install`로 설치한 라이브러리가 살아있다.)
6. 가상환경을 삭제할 때는 `jupyter kernelspec uninstall {가상환경명}`과 `conda env remove -n {가상환경명}`을 입력한다.

 

 

2. 참고

- 라이프사이클 예제(AWS github)

- 가상환경 생성 예제(AWS github)

728x90
반응형