Docker container 생성.
docker run -it --gpus all -p 88**:8888 --name yhna_pytorch4 --shm-size 256G -v /data:/home/yhna/data -v /data2/yhna/:/home/yhna/ pytorch/pytorch:latest
실제 ex)
docker run -it --gpus all -p 8818:8888 --name yhna_pytorch_runtime_v2 --shm-size 256G -v /data:/home/yhna/data -v /data2/yhna/:/home/yhna/ -v /data_AIoT6:/home/yhna/data_AIoT6/ -v /data_OL:/home/yhna/data_OL/ pytorch/*
1. 88**:8888 -> 포트 설정 ** 안먹으면 그냥 임의 숫자 가능
2. yhna_pytorch4 -> 컨테이너 이름
3. 256G -> shared memory 용량, 기본 64M, 작게 설정하면 학습하다가 혼자서 꺼지는 기가막히는 현상 경험 가능.
4. /data:/home/yhna/data -> mount경로
5. pytorch/pytorch:latest 가져올 이미지 / 모르겠으면 pytorch 혹은 Tensorflow치고 탭누르면 가능한 버전 나오는거 설치
++ 설치 시 runtime버전과 devel버전이 존재하는데, LLM 과 같은 모델을 돌리기 위해서는 nvcc 설치를 필수로 요구하므로 devel 이 붙어있는 것을 설치하기를 권장한다.
나는 버전에 맞게 pytorch/pytorch:2.2.1-cuda11.8-cudnn8-devel를 설치해 주었다.
Anaconda 설치하기
1. 필수 패키지 설치
apt-get update
apt-get install wget -y
apt-get install vim -y
cd /home/yhna
2. 아나콘다 다운로드 및 실행
# anaconda 파일 wget으로 web에서 가져와서 다운로드
# 이미 파일 존재하면 skip 가능
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
# sh로 파일 실행
sh Anaconda3-2021.05-Linux-x86_64.sh
3. 실행 시 location 지정
- 우선 [Space bar] 키를 눌러서 빠르게 skip 해주고
- yes를 입력해서 동의를 한다.
- 그리고 난 후 경로 지정을 하는데, 아래와 같이 설정해주거나
location=/home/yhna/anaconda3
- 도커 컨테이너마다 각각의 아나콘다 (가상환경) 을 설치해서 다양하게 사용하고 싶다면 아래와 같이 설정하자
- anaconda_envs라는 폴더를 만들고 그 아래에 각각 아나콘다 폴더의 이름을 설정해주면 된다. 예시는 아래 참조.
location=/home/yhna/anaconda3
location=/home/yhna/anaconda_envs/anaconda3
location=/home/yhna/anaconda_envs/llava_envs
location=/home/yhna/anaconda_envs/shhs_ahi
다음과 같이 각 환경에 맞는 library를 설치하고 싶을 경우, 이렇게 독립된 환경을 만들어줄 수 있다.
환경변수 설정
어떤 경로에서든 아나콘다를 실행할 수 있도록. 아래와 같이 파일 설치
pip install vi
vi ~/.bashrc
page down 혹은 화살표 아래 버튼을 눌러서 Conda initialize 부분으로 이동한다.
맨 마지막 줄에 입력해야하는 경로는 위에서 설명한 두 가지가 존재한다.
export PATH=”/home/yhna/anaconda3/bin:$PATH”
만약 위에서 /home/yhna/anaconda3/ 가 아닌, /home/yhna/anaconda_envs/shhs-ahi 와 같이 작성하였다면
export PATH=”/home/yhna/anaconda_envs/shhs-ahi/bin:$PATH” 를 입력해준다
사실 가장 간단한건 vi ~/.bashrc를 실행 시킨 후 page down을 통해 밑으로 내려가서 if문에 들어가 있는 주소를
export PATH와 함께 넣으면 된다.
wq! 를 눌러서 저장하고 빠져 나오면
아래의 명령어를 입력 해서 최종으로 적용
source ~/.bashrc
jupyter notebook 실행 방법
원격으로 주피터 노트북 연결
-> 우선 주피터 노트북 설치
pip install jupyter
jupyter notebook --generate-config -y
>> ipython
# ipython 환경에서 실행
In [1] :from notebook.auth import passwd
In [2] :passwd()
>>>>> Enter password:
>>>>> Verify password:
Out[2]: 'argon2:$argon2id$.....' # 이 부분을 복사해두어야 합니다 !
In [3]: quit()
cd /root/.jupyter
vi jupyter_notebook_config.py
다음과 같이 아래의 두번째 줄에 여백을 만들고 (그냥 엔터 누르면 된다) 그리고 아래의 c = ... 하는 명령어를 삽입한다.
아 물론 중간의 argon은 위에서 저장한 이상한 문자열을 붙여넣는다.
c=get_config()
c.NotebookApp.ip='localhost'
c.NotebookApp.open_browser=False
c.NotebookApp.password='argon2:$argon2......'
c.NotebookApp.password_required=True
c.NotebookApp.port=8888
c.NotebookApp.iopub_data_rate_limit=1.0e10
c.NotebookApp.terminado_settings={'shell_command': ['/bin/bash']}
이제 cd /home/yhna 와 같이 main dir로 복귀
시작.
jupyter notebook --ip 0.0.0.0 --allow-root
'Python' 카테고리의 다른 글
timm 모델 리스트 + 옵티마이저까지 (timm model list / 2024.04.19) (2) | 2024.04.19 |
---|---|
Pytorch 설치 (0) | 2024.04.12 |
리스트 안에 numpy array나 Tensor 배열이 갇혀 있을 때 해결방법. (0) | 2023.03.28 |
Python numpy 지수표기, e+ 표기 없이 출력하기 (0) | 2022.09.05 |