목록분류 전체보기 (78)
중요한건 꺾이지 않는 맥북
Pillow 라이브러리로 이미지를 읽어올때 이미지가 회전되는 경우가 있다. from PIL import Image, ImageOps image_path = '' image = Image.open(image_path) image = ImageOps.exif_transpose(image) pillow 라이브러리로 이미지를 읽은 뒤, ImageOps의 exif_transpose 내장 모듈로 다시 변환시켜주면 된다. exif_transpose 의 소스코드를 보면, def exif_transpose(image): """ If an image has an EXIF Orientation tag, return a new image that is transposed accordingly. Otherwise, return..
도커 이미지를 풀 받은 후 컨테이너 를 띄울 때 위와 같은 에러를 마주칠 때가 있다. 이 에러는 CMD 와 관련있기 때문에 docker run 할 시 sudo docker run -i -t --name hello ubuntu /bin/bash **docker run 형식입니다. ubuntu 이미지를 컨테이너로 생성한 뒤 ubuntu 이미지 안의 /bin/bash를 실행하는 것과 같이 설정해주면 된다. 또는 Dockerfile 자체를 수정해서 빌드할 수도 있다...!
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu{우분투버전}/x86_64/3bf863cc.pub 해주면 된다.
ImportError: libGL.so.1: cannot open shared object file: No such file or directory apt-get install libgl1-mesa-glx 또는 apt update && apt install -y libsm6 libxext6 apt-get install -y libxrender-dev

본 글은 네이버 deview 2021의 영상을 참고하였습니다! https://tv.naver.com/v/23650633 어떻게 더 많은 모델을 더 빠르게 배포할 것인가? Zero-time delivery cycle from research to production NAVER Engineering | 이승우 - 어떻게 더 많은 모델을 더 빠르게 배포할 것인가? Zero-time delivery cycle from research to production tv.naver.com Model Management 1. GitOps 2. S3 3. Git 과 S3 에 MLP CLI 를 사용하여 쉽게 모델을 업로드 가능 딥러닝 모델 배포의 특수성

Triton 아키텍처를 사용하면 동일한 시스템에서 여러 모델 및/또는 동일한 모델의 여러 인스턴스를 병렬로 실행할 수 있습니다. 시스템에는 GPU가 0개, 1개 또는 여러 개 있을 수 있습니다. 다음 그림은 두 가지 모델이 있는 예를 보여줍니다. Triton이 현재 어떤 요청도 처리하지 않는다고 가정하고 두 요청이 동시에 도착하면(각 모델마다 하나씩) Triton은 즉시 두 요청을 GPU에 예약하고 GPU의 하드웨어 스케줄러는 두 계산을 병렬로 작업하기 시작합니다. 시스템의 CPU에서 실행되는 모델은 각 모델의 CPU 스레드 실행 일정이 시스템의 OS에 의해 처리된다는 점을 제외하고는 Triton에 의해 유사하게 처리됩니다. 기본적으로 동일한 모델에 대한 여러 요청이 동시에 도착하면 Triton은 다음 ..

위 그림과 같이 수많은 앱과 서비스가 생겨나고 머신러닝 기술이 발전하면서 하나의 앱에 여러 모델들의 inference를 수행하는 경우가 있다. 하나의 앱이 여러 모델을 타야하는 경우, 기존에는 어떠한 독립적인 inference 전용 API를 따로 구성하여 코드를 작성하고 프레임워크 별로 세팅을 각각 해줘야하는 번거로움이 있었다. 요즘처럼 앱의 빠른 배포와 여러 서비스의 적용 및 테스트가 빈번한 시대에는 꼭 필요한 것이 있었다. 바로 Triton inference server 이었다. 트라이톤 서버를 선택하게된 계기 Django 프레임워크를 사용하며 torch 모델을 script화 하지않고 그대로 배포했었다. 이로인해 발생한 문제점으로 Tensorflow, Torch, ONNX, TensorRT 등의 모델..

TRTIS를 사용하는 이유 간편하고 빠르다. Python이나 C++으로 TensorRT 엔진을 사용하여서 추론 작업을 하는 것은 Pytorch나 Tensorflow에서 추론을 하는 것보다 성능이 좋지만, 더 low 적인 작업이 많아서 추론 코드를 작성하기에 조금 어렵다. 그러나 TRTIS를 사용하면 기본적인 config 설정과 모델만 있으면 서버 방식으로 배포하여 접근도 쉽고, 클라이언트 코드의 재작성이 불필요하다. 게다가 추론도 Multi GPU Inference를 하려면 프로세스를 여러개 돌려야 하기 때문에 프로세스 관리가 까다로운데, TRTIS는 GPU 설정만 해주면 스스로 Multi GPU Inference를 해주기 때문에 추론 코드를 작성하는 시간을 아낄 수 있다. 그리고, 한 GPU에 모델을 ..