딥러닝 관련 자주 쓰는 명령어 모음

Juppi·2023년 1월 11일
0

자주 쓰는

목록 보기
2/2

모델 학습 돌리거나 추론할 때 사용하는 명령어 모음

GPU 사용가능한지 확인

파이썬 쉘에 들어가서 아래처럼 출력이 나온다면 사용 가능한 것 !

$ python3
>> import torch
>> torch.cuda.is_available()
True

GPU 지정해서 돌리기

CUDA_VISIBLE_DEVICES={GPU NODE NUM} python3 train.py

앞에 GPU Node 번호로 환경변수 셋팅해주고 돌릴 코드에 대한 명령어 입력하기
CUDA_VISIBLE_DEVICES는 환경변수라서 "~.py" 와 같은 python file을 터미널을 통해 실행할때는 다음과 같이 명령어 앞에 설정해서 사용

여러개 사용도 가능한데, nn.DataParallel()이 작성되어있어야함

아래 코드를 파일 내에 작성해서 GPU가 제대로 할당되었는지 확인 가능 하다

import torch

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print('Device:', device)
print('Current cuda device:', torch.cuda.current_device())
print('Count of using GPUs:', torch.cuda.device_count())

관련 에러

설정한 번호와 다른 노드의 GPU를 사용하려고 할때

아래 그림은 분명 1번 노드를 사용해서 코드를 돌렸지만, 실제로는 이미 사용 중이던 0번 노드 GPU를 사용하려고 해서 메모리 관련 에러가 뜬 것이다.

➡️ 코드가 안먹을리 없다. 자세히 보면 CUDA_VISIBLE_DEVICES에서 S가 하나 빠졌있다. 휴먼 에러였다..

GPU 메모리 비우기

torch.cuda.empty_cache()

Jupyter Notebook kernel에 conda 가상환경 추가

python -m ipykernel install --user --name={가상환경이름}
profile
잠자면서 돈버는 그날까지

0개의 댓글