본문 바로가기
MLOps

MLOps를 위한 잡동사니

by 볼록티 2022. 3. 26.
728x90
반응형

OS: Ubuntu:20.04

 

 

Linux

 

* nohup 사용: 아래의 명령어를 실행하여 nohup을 사용할 수 있다.

 

$ dpkg -S /usr/bin/nohup

 

사용예) jupyter lab을 실행하면 터미널이 실행중인 상태로 되는데, 만약 이 터미널을 종료하면 jupyter lab의 로컬연결이 끊기게 된다. 터미널로을 종료하더라도 실행시킨 jupyter lab이 계속 실행되게 하기 위해 nohup을 사용한다.

1. $vi jupyterlab.sh 이라는 실행 쉘스크립트를 생성한다. 스크립트 내용은 jupyter lab 만 작성 후 저장한다.

2. $chmod -x jupyterlab.sh 로 실행 권한을 부여한다.

3. $./jupyterlab.sh 로 프로세스사 실행되는지 확인한다.

4. 실행이 잘된다면 $nohup jupyter lab & 명령어를 실행한다.

5. 프로세스가 실행되었다면, ctrl+c로 터미널 실행상태에서 빠져나온다.

6. 터미널이 종료되어도 프로세스가 잘 실행되고 있음을 확인한다.

추가) nohup에서 백그라운드(&)로 실행시킬 때, 로그기록이 nohup.out이라고 저장되는데, 로그 기록을 굳이 볼필요없는 경우에는 명령어를 아래와 같이 실행시킨다. 위의 색칠한 부분이 발생하는 로그기록을 삭제해달라는 명령어이다.
$nohup jupyterlab.sh 1> /dev/null 2>&1 &
nohup으로 실행시킨 파일을 보려면 아래의 명령어를 활용한다. 프로세스 이름으로 중단이 필요한 경우 kill 한다.
$ps -ef | grep nohup

pc를 종료하면 서버가 다운되는거니 nohup도 종료되어 pc를 끄고 킬 때, 다시 실행시켜줘야 한다~!


 

 

환경설정

 

* conda 가상환경 생성/삭제와 생성한 가상환경에 커널 추가/삭제

 

1. 가상환경 생성은 아래의 명령어로 생성한다.

conda create -n new_env python==3.8

파이썬버전 3.8인 new_env라는 이름의 가상환경이 생성된다.


(참고) 가상환경 삭제하기

conda remove --name 가상환경이름 --all

 

2. 새로운 가상환경에 대한 커널을 생성한다.

python -m ipykernel install --user --name 가상환경이름 --display-name 커널이름

jupyter notebook을 생성할 때, 커널이 커널이름 인 것으로 생성하면 고유한 커널로 작업이 가능하다.

 

(참고) 커널 삭제하기

jupyter kernelspec uninstall 커널이름

 

 

* jupyter lab 설치

pip install jupyterlab

 

 

GPU

 

* 실시간 GPU 사용 체크

watch -d -n 0.5 nvidia-smi

 

 

 

 

Docker

* docker 명령어 sudo 없이 실행하기

docker 그룹을 생성해 사용자를 추가하면 docker 사용시 sudo 명령어를 입력하지 않아도 된다.

 

1. docker 그룹생성하기. (기존에 docker설치시 자동으로 깔려있을 것이다.)

 sudo groupadd docker

2. docker 그룹에 사용자 추가하기

sudo usermod -aG docker ${USER}
newgrp docker

3. docker 재실행

sudo service docker restart

 

4. 현재 사용자 로그아웃 (사용자 -> root -> 사용자)

sudo su - #root 사용자 로그인
sudo su noomeong #noomeong 사용자 로그인

5. docker 명령어 실행해서 확인하기

docker run --rm hello-world

 

 

*컨테이너가 띄워진 채로 컨테이너에서 빠져나오기

 

  docker 옵션 중 -d는 background실행을 의미한다. 백그라운드 실행 중 컨테이너를 종료하지 않고 빠져나오고 싶을 때 다음을 주의하자.

 exit 로 빠져나오거나 Ctrl+D 로 빠져나오면 띄워진 컨테이너가 stop 된 채 나오게 된다.

 

이를 방지하기 위해서 컨테이너 내부에서 Ctrl+p 와 Ctrl+q 를 순서대로 타이핑해서 나오도록 한다.

 

*도커 컴포즈 내부 진입하기

 컨테이너 내부에 접속해서 이것저것 깔고, 이를 이미지화할 필요가 있을 때 유용하게 사용한다.

 

docker-compose run --rm ${서비스명} /bin/bash

 

 

 


 

 

 

 

 데이터 사이언스...

 

 

 

728x90
반응형

'MLOps' 카테고리의 다른 글

딥러닝 모델 컨테이너 띄우기(wt. GPU)  (0) 2022.03.31
nvidia-docker 설치 및 컨테이너 띄우기 with GPU  (0) 2022.03.31
GPU 사용 환경 세팅  (0) 2022.03.26
도커 기초  (0) 2022.03.21
우분투에 도커 설치  (0) 2021.08.31

댓글