딥러닝 연구의 특성상 연구실 서버를 빌려 그래픽카드를 사용하는것이 일반적입니다.
하지만, 제가 처음 서버를 빌려 환경을 구축해본 결과, 여러 시행착오를 겪었습니다.
따라서 다른 분들은 제가 아래 서술하는 일련의 과정을 통해 환경을 더 편히 구축하셨으면 하는 마음에 이 글을 작성했습니다.
제가 서술드릴 내용은 아래와 같습니다.
이 글을 잘 따라오신다면 무리없이 설치 가능하실겁니다.
연구실 서버에 Conda를 설치할 예정이므로, 먼저 연구실 서버에 연결하셔야 합니다.
로컬 터미널의 경우, 일반적으로 연구실 서버엔 다음과 같이 연결합니다.
## []는 빼고 작성하셔야 합니다.
C:\Users\User> ssh [사용자 ID]@[연구실 서버 IP주소 또는 도메인] -p [포트 번호]
## 예시
C:\Users\User> ssh sideotod@000.000.000.000 -p 0000
연구실 서버에 대한 자세한 정보는 연구실에 문의해보시면 되겠습니다.
연구실 서버에 접속하셨다면 연구실 서버의 os와 cpu를 잘 고려해서 Conda 파일을 다운받으시면 됩니다.
(본인이 사용하는 노트북이나 데스크탑의 운영체제가 아닙니다!)
해당 사이트에 들어가시면 버전을 확인하실 수 있습니다.(https://repo.anaconda.com/archive/)
참고로 버전은 Anaconda3-[아나콘다 버전]-[사용자 os]-[사용자 cpu].sh 의 형태입니다.
버전을 확인하셨다면 아래 명령어를 통해 다운로드를 진행하시면 됩니다.
# 명령어
wget https://repo.continuum.io/archive/[확인한 아나콘다 버전]
# 예시
(base) User@super:~$ wget https://repo.continuum.io/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
이제 다운받은 파일을 실행하시면 됩니다. 아래 명령어를 통해 진행해주세요
# 명령어
bash [다운받은 아나콘다 파일]
# 예시
(base) user@super:~$ bash Anaconda3-2024.02-1-Linux-x86_64.sh
참고 1)
bash가 안되시는 분들은 sh로 다시 시도해보시길 바랍니다.
(base) user@super:~$ sh Anaconda3-2024.02-1-Linux-x86_64.sh
참고 2)
bash: Anaconda3-2024.02-1-Linux-x86_64.sh: No such file or directory 같은 오류가 발생하는 분들은 서버에 접속하지 않고 다운받으신 분들입니다. 서버에 접속 후 파일 다운로드부터 진행해주세요.
저희 연구실의 경우 기본적으로 서버의 위치가 /home/[사용자ID]와 같이 지정되어있습니다.
하지만 /home 디렉토리의 용량이 작아서 Conda를 설치할 디렉토리를 변경해주어야합니다.
연구실의 기본 서버 용량이 넉넉하신 분들은 넘어가셔도 좋습니다.
bash [다운받은 아나콘다 버전]를 입력해주면 약관이 길게 나오는데요, 약관에 동의를 하시게 되면 다음과 같은 창이 나옵니다.
Anaconda3 will now be installed into this location:
/home/user/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/user/anaconda3] >>>
여기에 여러분이 원하는 디렉토리를 작성해주시면 그 위치에 설치가 되게 됩니다.
/[디렉토리 경로]/anaconda3와 같이 작성하시면 그 위치에 anaconda3라는 폴더를 만들어 설치를 진행하게 되므로, anaconda3 폴더가 없더라도 작성해주시면 되겠습니다.
# 예시
[/home/user/anaconda3] >>> /mnt/sdc/user/anaconda3
참고)
(base) user@super:~$ cd /mnt/sdc/user
(base) user@super:/mnt/sdc/user$
위와 같이 이미 다운로드를 진행할 디렉토리에서 진행하는 중이라면
# 예시
[/home/user/anaconda3] >>> /anaconda3
이렇게만 작성해주시면 됩니다.
위 상태에서 /mnt/sdc/user/anaconda3를 작성해도 큰 문제는 없지만, 저장되는 위치가 /mnt/sdc/user/mnt/sdc/user/anaconda3가 됩니다.
Conda 설치를 하다보면 무슨 약관이 이렇게 긴지 사람을 화나게 합니다.
그럼에도 인내심을 가지고 마지막까지 침착하게 진행하신 분들은 아래 질문을 보셨을겁니다.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>>
여기서 yes라고 잘 입력한 분들은 별 탈 없이 지나가셨겠지만, 저처럼 분노의 엔터를 누르다가 이마저도 엔터를 눌러 기본값(으로 추정되는) no를 입력하신 분들은
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>>
You have chosen to not have conda modify your shell script at all
와 같이 알 수 없는 글을 보실 수 있었을 겁니다.
이 글을 보신 분들은 conda 명령어를 사용하실 수 없으실거에요.
이런 분들은 아래 명령어를 통해 Conda의 환경설정을 직접 진행해주셔야합니다.
(base) user@super:~$ export PATH="~/anaconda3/bin:$PATH"
(base) user@super:~$ source ~/.bashrc
여기까지 오신 여러분, 고생하셨습니다. Conda가 정상적으로 설치되었는지 확인 해봅시다.
아래와 같이 실행이 되면 설치가 성공적으로 되었다고 보시면 됩니다.
(base) user@super:~$ conda
usage: conda [-h] [--no-plugins] [-V] COMMAND ...
conda is a tool for managing and deploying applications, environments and packages.
options:
-h, --help Show this help message and exit.
--no-plugins Disable all plugins that are not built into conda.
-V, --version Show the conda version number and exit.
commands:
The following built-in and plugins subcommands are available.
COMMAND
build Build conda packages from a conda recipe.
clean Remove unused packages and caches.
compare Compare packages between conda environments.
config Modify configuration values in .condarc.
content-trust Signing and verification tools for Conda
convert Convert pure Python packages to other platforms (a.k.a., subdirs).
create Create a new conda environment from a list of specified packages.
debug Debug the build or test phases of conda recipes.
develop Install a Python package in 'development mode'. Similar to `pip install --editable`.
doctor Display a health report for your environment.
env See `conda env --help`.
index Update package index metadata files. Pending deprecation, use https://github.com/conda/conda-
index instead.
info Display information about current conda install.
init Initialize conda for shell interaction.
inspect Tools for inspecting conda packages.
연구실에서 다양한 모델들을 사용하다보면, 모델을 사용하기 위해서 필요한 환경설정이 모두 다릅니다. 그럴 때 상황에 맞는 가상환경을 만들어 사용하면 좋은데요, 이를 위해 가상환경을 생성하는 방법에 대해 알려드리겠습니다.
가상환경을 생성할 때는 보통 모델의 이름을 가상환경의 이름으로 사용합니다.
(물론 본인이 원하는 이름으로 작성하셔도 문제가 되진 않습니다.)
## 당연하게도 []는 적지 않습니다.
(base) user@super:~$ conda create -n [가상환경이름]
## 예시
(base) user@super:~$ conda create -n CNN
가상환경을 활성화 할 때는 conda activate 가상환경이름을 통해 접속하시면 되고, 반대로 비활성화 하실 때는 conda deactivate를 사용하시면 됩니다.
또, 사용가능한 가상환경 목록을 확인하실 때는 conda env list를 사용하시면 됩니다.
## 가상환경 활성화와 비활성화 예시
(base) user@super:~$ conda activate CNN
(CNN) user@super:~$ conda deactivate
(base) user@super:~$
## 가상환경 리스트 확인 예시
(base) user@super:~$ conda env list
## 출력
# conda environments:
#
base * /mnt/sdc/user/anaconda3
CNN /mnt/sdc/user/anaconda3/envs/CNN
위에서 언급드렸다시피, 다양한 모델을 사용하기 위해서는 conda 가상환경을 사용하는 것이 좋습니다.
보통 저자들은 모델의 설정을 requirements.txt와 environment.yaml 두가지 형식으로 업로드 합니다.
두가지 방식의 차이점을 간단히 말씀드리면 전자는 pip 환경에서 사용하고, 후자는 conda 환경에서 사용한다고 생각하시면 좋습니다.
모델에 따라 설정을 기재한 방식이 다르므로, 두가지 모두 알려드리겠습니다.
(base) user@super:~$ conda create -n CNN
(base) user@super:~$ conda activate CNN
(CNN) user@super:~$ pip install -r requirements.txt
(base) user@super:~$ conda create -f environment.yaml
두 양식을 보시면 .yaml 쪽이 더 편하게 가상환경생성을 할 수 있다는 것을 알 수 있으실텐데요, 반대로 만드는 방법에 대해서는 다음에 적겠습니다.
PyTorch는 딥러닝 연구에서 없어서는 안될 필수적인 라이브러리입니다. 또, 근래에 나오는 모든 딥러닝 모델은 GPU를 사용하여 모델을 돌립니다. 따라서 PyTorch를 설치할 때는 GPU 사용을 가능케하는 CUDA의 버전과 PyTorch의 버전을 맞춰주어야합니다.
두 버전을 맞추어주기 위해서는 공식 사이트에서 제공하는 명령어를 사용하면 됩니다. (https://pytorch.org/get-started/locally/)

저같은 경우에는 연구실 서버의 os가 Linux이고 Conda 환경에서 Python을 사용할 것이며, 연구실의 CUDA 버전이 12.1이므로 위와 같이 선택했습니다.
다른 분들도 본인에게 맞는 버전을 선택하시어 아래 적혀있는 명령어를 적어주시면 문제없이 실행될 것입니다.
참고)
가끔 cudatoolkit이나 cuDNN 버전 문제로 에러가 나시는 분들이 있습니다.
이런 경우에는 각각을 다운받아주시면 되겠습니다.
처음 서버를 사용하신다면 Linux에 익숙하지 않아서 어려움을 겪으실겁니다.
하지만 한번 익숙해지신다면 서버를 Local마냥, 오히려 더 편하게 느끼실 수 있습니다.
다음 글에서는 연구실 서버를 Visual studio Code에 연결하여 사용하는 방법과 서버의 파일을 쉽게 사용할 수 있는 FileZilla라는 프로그램에 대해 설명드리겠습니다.
모쪼록 도움이 되셨으면 좋겠습니다.