[딥러닝 실험 환경 구축하기] Conda 설치, Conda 가상환경 만들기, Pytorch 설치, 원격으로 서버환경에서 쥬피터 실행

GyuSeok Lee·2022년 7월 25일
6

글의 목적

연구실에서 서버를 사용하는데, 실험환경을 어떻게 구축해야할지 몰라서
이런저런 글을 다독하게 되었고 결과적으로 성공적으로 환경을 구축했다.
그래서 나의 이 삽질을 기록해서 다른 사람들에게 조금 더 빠르고 쉬운 길을 제시하고자 이 글을 쓴다.

목차

  1. Conda 설치
  2. Conda 가상환경 만들기
  3. Pytorch 설치하기
  4. 원격으로 서버환경에서 쥬피터 실행

1. Conda 설치

1) 파일 다운

먼저 자신의 os, cpu를 고려해서 conda의 버전을 선택해야 한다.
해당 사이트를 이용해서 적절한 conda버전을 확인하자. (https://repo.anaconda.com/archive/)
그리고 나서 아래와 같은 명령어를 입력한다.

명령어: wget https://repo.continuum.io/archive/** 자신의 아나콘다 버전**

예시: wget https://repo.continuum.io/archive/Anaconda3-2021.11-Linux-x86_64.sh

2) 파일 실행

bash Anaconda3-2021.11-Linux-x86_64.sh

참고: bash가 안되면, 대신 sh를 입력해보자. (이건 본인 서버환경에 따라서 다르다)

3) 환경 설정
이 작업을 안하면 Conda가 설치되었음에도 불구하고, Conda명령어가 실행되지 않는다.
아래 명령어를 입력하자.

export PATH="~/anaconda3/bin:$PATH"
source ~/.bashrc

참고: bashrc 폴더가 없을 수도 있고, 비슷하게 bash_profile과 같은 폴더 등이 존재할 수도 있다.


4) 확인하기
여기까지 하고, Terminal에 conda를 입력해보자.
아래와 같이 실행이 되면, Conda는 성공적으로 설치된 것이다.

2. Conda 가상환경 만들기

$ conda search python (콘다에서 사용이 가능한 파이썬 버전 list를 보여줌)
$ conda create -n 가상환경이름 python=버전 (만드는 명령어)
$ conda info --envs (가상환경 목록 보여주는 명령어)
$ conda activate 가상환경이름 (가상환경 활성화)
$ conda deactivate (가상환경 비활성화)

참고: https://yganalyst.github.io/pythonic/anaconda_env_1/

3. Pytorch 설치하기

이 부분이 난관이다. 우리가 파이토치를 통해 실험을 진행할때 보통 GPU를 사용하게 되고, 이를 위해서 우리는 CUDA를 이용해야 한다. 이때 우리가 가지고 있는 GPU의 cuda version과 pytorch버전이 호환되어야만, 성공적으로 파이토치에서 GPU를 사용할 수 있다.


공식적으로는 홈페이지에서 제공해주는 명령어를 사용하면 된다. (본인의 OS, Cuda 등에 호환되도록 pytorch를 다운받는다)
https://pytorch.org/get-started/locally/


그러나 나는 이런저런 에러를 만났었는데, 아래와 같은 명령어를 통해 cudatoolkit의 버전을 11.3으로 맞춰주면서,해결할 수 있었다. (이는 자신의 서버에서 사용하는 cuda version을 확인한 후 그에 상응하는 cudatoolkit의 버전을 입력하면 되겠다)
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch


여기까지 끝나면 아래와 같은 명령어가 가능해질 것이다.

4. 원격으로 서버 환경에서 쥬피터 실행

참고: https://bioinfoblog.tistory.com/13

1) Jupyter 설치하기
conda install jupyter
conda install -c conda-forge jupyterlab

2) 접속 비밀번호를 생성한다
Terminal에 ipython 입력하면 아래와 같은 창이 만들어진다.
이때 본인이 사용하고 싶은 비밀번호를 입력하면, 이를 암호화된 비밀번호로 output이 나온다.

In [1]: from notebook.auth import passwd
In [2]: passwd()
Out[2]: '암호화된 비밀번호’
In [3]: exit

3) Config 파일을 생성한다
jupyter notebook --generate-config


4) Config 파일을 수정한다
아래 명령어를 이용해서 편집기를 연다.
vi .jupyter/jupyter_notebook_config.py

그리고 나서 아래와 같은 명령어에 주석처리를 해제한 뒤, 수정하면 된다.
(이때 포트번호는 기본이 8888인데, 만약 해당 포트가 사용중이면 저절로 다른 포트를 지정해준다)

5) 터미널에 jupyter notebook를 실행한다
jupyter notebook


6) 웹브라우저 상에서 다음과 같이 입력하면 된다
http://서버IP:포트번호/


7) 확인하기
이 과정이 모두 잘 수행되면 아래와 같은 화면이 나온다.
그리고 본인이 2) 접속비빌번호 생성 파트에서 만든 비밀번호를 입력하면 성공적으로 외부에서도 서버환경 기반의 쥬피터 노트북이 사용가능하다!

profile
AI Researcher

0개의 댓글