전체 글 (24) 썸네일형 리스트형 [Linux] MAR 파일 생성하기 - 도커에서 TorchServe 모델 배포 (2) 먼저 도커 설치가 필요하다면 아래 글 참고 2023.05.22 - [Dev] - [Linux] Docker 설치하기 - 도커에서 TorchServe 모델 배포 (1) 이번 글에서는 .mar 파일 생성까지 다룰 예정 순서는 아래와 같다 1. 도커에 TorchServe 설치 2. Handler 작성 3. .mar 파일 생성 0. MAR 파일이란? Model Archive 의 줄임말로 TorchServe에서는 .mar 파일을 사용하여 파이토치 모델을 배포한다. .mar 파일은 모델의 가중치, 구조, 메타데이터 등을 포함한 모든 정보를 담고 있다. 1. 도커에 TorchServe 설치 가장 쉬운 방법은 이미지를 pull 하는 방법이다. docker pull pytorch/torchserve:latest 이 커맨.. [Linux] Docker 설치하기 - 도커에서 TorchServe 모델 배포 (1) 기존에 Flask 로 모델 배포를 하고 있었는데, 효율화를 위해 Docker 와 TorchServe 를 사용하여 모델 배포를 할 예정 각각 설정해야 할 것도 많고 기존에 gunicorn 과 엮어서 서빙했기 때문에 차근차근 단계별로 진행할 예정이다. Ubuntu 22.04 도커 설치하기 공식문서는 여기 0. OS requirements (05월 22일) Ubuntu Lunar 23.04 Ubuntu Kinetic 22.10 Ubuntu Jammy 22.04 (LTS) Ubuntu Focal 20.04 (LTS) Ubuntu Bionic 18.04 (LTS) compatible 한 버전의 우분투를 사용 중인지 확인 도커를 설치할 수 있는 방법은 여러가지가 있지만, 여기선 apt repository 로 설치 .. [Linux] Ubuntu 22.04 원격 리눅스 서버에서 파일 또는 폴더 가져오기 나의 상황은, 윈도우 환경에서 원격으로 개발 서버에 접속하여 개발 후 원격으로 학습 서버에 붙어서 학습을 진행 이러다보니 개발 서버에서 작업한 대용량 파일을 학습 서버로 옮겨야 할 일이 빈번한데, 매번 FileZilla로 옮기려다보니 번거롭고 오래 걸리기 때문에 scp 명령어를 사용하면 한번에 해결이 가능하다. 최종적으로 파일 또는 폴더가 위치하길 원하는 서버에 접속하여 아래 커맨드를 사용 예를들어 개발 서버에서 학습 서버로 옮기고 싶다면, 학습 서버에서 진행하면 되고 이렇게 되면 학습 서버가 로컬이라고 가정하고 진행하면 된다 # 파일 전송 scp -P [포트번호] [원격 계정명]@[주소]:[파일 경로] [다운받을 최종 로컬경로] # 폴더 전송 scp -P [포트번호] -r [원격 계정명]@[주소]:[파.. [Linux] Ubuntu 22.04 디렉토리 이름 변경하기 폴더명 또는 파일명을 변경하는 가장 간단한 방법은 mv 커맨드를 사용해서 다른 곳으로 옮기면 된다 sudo mv [options] [현재 폴더명] [새로운 폴더명] 변경 후 아래 커맨드를 사용하여 변경 내용 확인 ls -l 예시 여기서 test3 디렉토리 이름을 test2로 변경하고 싶다 아래 명령어 입력 sudo mv test3 test2 확인해보면 변경된 것을 확인할 수 있다 끝 [Linux] Ubuntu 22.04 RTX 4090 RuntimeError: cuFFT error 해결 환경세팅을 마치고 잘 돌아가는지 학습을 돌렸는데, 스펙트로그램 변환에서 stft를 거치다가 RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR 가 떴다 구글링 해보니 4090에서 종종 발생하는 에러이며 특히 CUDA 11.7에서 이슈가 발생한다는 것을 확인 CUDA 11.8로 실행 시 문제가 없다함 기존 CUDA 11.7에서 11.8로 설치하고 진행 0. 기존 파이토치 삭제하기 나의 경우 conda로 설치하였기 때문에 아래 명령어 입력 conda uninstall pytorch pip로 설치 시 아래 명령어 입력 pip uninstall torch pip uninstall torch # 꼭 두 번 실행 1. CUDA 11.8에 맞는 파이토치 재설치 여기 에서 필요에 맞는.. [Linux] Ubuntu 22.04 대용량 디스크 마운트 하기 1TB SSD 에 4TB HDD 를 추가하여 기기를 받아 디스크를 마운트 해야한다 (부팅은 SSD로 하고 있음) *NOTE* Linux의 경우 2TB 미만인 경우 일반적인 디스크 마운트를 진행하면 되지만, 2TB가 넘을 경우 fdisk를 사용하여 2TB 가 넘는 파티션을 생성하지 못한다 따라서 대용량 디스크를 마운트하려면 파일 시스템을 GPT로 변경하는 추가 작업이 필요하다 0. GPT 커널 지원 확인 Redhat Enterprise Linux / CentOS 의 경우 GPT 커널 지원이 default 이지만 Debian과 Ubuntu Linux의 경우 Linux 커널에서 이를 지원하는지 확인 해야한다 (거의 모든 최신 커널은 GPT를 지원하긴 한다) 이를 확인하기 위해선 CONFIG_EFI_PARTIT.. [Linux] Ubuntu 22.04 호스트명 (hostname) 변경하기 처음 장비들을 받았을 때 'server'로 hostname이 설정되어 있었다. 장비마다 rule을 가지고 호스트명을 부여하기 위해 변경 시도 0. 호스트명 확인 보통 터미널에서 보면 {사용자 이름}@{호스트} 이기 때문에 별도 확인이 필수는 아니지만 그래도 아래 명령어로 확인하기 #단순 호스트명 확인 hostname #자세한 정보 hostnamectl 1. 호스트명 변경 hostnamect은 시스템의 호스트명을 관리할 수 있는 명령어로 다양한 옵션을 사용할 수 있음 hostnamectl --help 호스트명 변경을 위해 아래 명령어를 사용 sudo hostnamectl set-hostname {변경하는 호스트명} 이렇게 변경해야 /etc/hostname 파일에 반영이 되어 영구적으로 변경이 가능하다 2... [Linux] Ubuntu 22.04 아나콘다 인식 안될 때 (No such file or directory) username 변경 후 아나콘다 경로 설정도 바꾸었는데 터미널을 재시작해도 아나콘다 인식이 안된다 0. 경로 설정 확인하기 sudo nano ~/.bashrc 1. 아나콘다 경로를 맞게 재설정하고 반영하기 source ~/.bashrc 여기서 경로 설정하면 될 줄 알았는데 여전히 같은 에러가 난다 2. ~/anaconda3/bin/conda 설정 sudo nano ~/anaconda3/bin/conda 경로 올바르게 설정 해주고 저장하기 3. 터미널 재시작 이러면 다시 (base) 가 제일 왼쪽에 뜨면서 정상 작동하는 걸 볼 수 있다. 끝 [Linux] Ubuntu 22.04 사용자 이름(username) 변경하기 관리 해야하는 서버가 점점 늘어나서 공통 rule을 가진 username을 생성하였다 근데 이미 4090 1대는 환경세팅이 끝나서 이참에 username 변경 해보기 1. 임시 사용자를 만들고 sudo 권한 부여 # 새로운 임시 사용자 이름 생성 sudo adduser {tmp username} # 새로 만든 임시 사용자 sudo 권한 부여 sudo adduser {tmp username} sudo 2. 지금 로그인 한 터미널창에서 로그아웃 후 생성한 임시 사용자로 로그인 진행 중인 process가 있으면 안되는데 ssh 연결이 붙어있다는 것 자체가 process가 있다는 것이기 때문에 꼭 임시 사용자로 로그인하고 진행하기 3. 기존 사용하던 사용자 이름으로 진행 중인 모든 process 죽이기 sudo.. [Linux] 타임 존 (time zone) 변경 방법 설정 되어있는 타임 존 확인하기 # 날짜 및 현 시각 date # 좀 더 상세하게 timedatectl 기본 값으로 리눅스를 설치하였다면 UTC time zone으로 설정되어 있을 수 있다 아래 명령어 입력하여 원하는 타임 존으로 변경 원하는 도시명으로 리스트에 있는지 확인하면 되는데 중요한 점은 꼭 첫 글자는 대문자로 # 리스트에서 정식 명칭 확인 timedatectl list-timezones | grep Seoul # 타임 존 변경 sudo timedatectl set-timezone Asia/Seoul # 변경 적용 확인 timedatectl 변경 끝 이전 1 2 3 다음 목록 더보기