AI Engineering

반응형

    [NVIDIA] TensorRT plugin 사용 및 예제 (feat. yolov7)

    1. TensorRT Plugin이란? TensorRT는 C++ library이고 nvidia GPUs와 deep learning accelerator를 제공함으로써 뛰어난 performance를 제공합니다. 그래서 nvidia GPU가 장착된 서버를 쓰신다면 TensorRT(.trt)모델로 변환하여 inference하는 것이 효과적입니다. 추가로 TensorRT에서는 plugin기능을 제공하는데요. Plugin을 사용하여 model의 추가적인 연산(preprocess, postprocess)를 C++, cuda programming 으로 대체할 수 있어서 (1) 코드의 간결화 (2) 연산속도의 효율의 장점이 있습니다. 대표적인 예시로 대부분의 AI개발자분들은 detection model의 NMS(Non..

    [NVIDIA] DeepStream 이해 및 설명

    1. DeepStream이란? Deepstream은 SDK형태로 제공하며 Vision AI application과 service를 쉽고 빠르게 개발할 수 있게 해줍니다. 그리고 DeepStream은 multi-platform, scaleablity를 제공하며 on-premise, on-edge, cloud환경 모두에서 deploy가능합니다. Multi-platform: window, mac, linux 등의 다양한 플랫폼을 의미 Scaleability: 유저수나 트래픽이 많아져도 application이 잘 작동함을 의미 흠... 여기까지 들었을때는 그래서 DeepStream이 먼지 모르시겠죠? 쉽게 설명을 위해 NVIDIA 세계관(?)의 End-to-END AI Development는 아래와 같습니다. ..

    [Torch2TFLite] Torch 모델 TFLite 변환 (feat. yolov5)

    AI 개발자라면 가장 많이 사용하는 framework는 Torch이나 TensorFlow일것입니다. 저는 Torch을 조금 더 주력으로 사용합니다. (대부분 연구자 분들도 Torch를 사용하시겠죠) 하지만 Torch 모델은 Arm cpu를 사용하는 device에서는 최적화되지않아 inference 속도가 다소 느립니다. 그래서 Torch모델을 Arm cpu 연산에 최적화된 TFLite 모델로 변환시키는 방법에 대해 말씀드리도록 하겠습니다. Torch모델을 TFLite로 변환시키는 과정은 다음과 같습니다. Torch 모델 → ONNX 모델 ONNX 모델 → OpenVINO 모델 OpenVINO모델 → TFLite 모델 Torch모델은 detection 모델 중 하나인 yolov5를 사용하겠습니다. 위의 과..

    TensorFlow.js (4) YOLOv5 Live demo

    YOLOv5로 실시간으로 detection하는 방법을 공유해보도록 하겠습니다. YOLOv5는 ultralytics회사에서 주도적으로 개발하는 object detection model입니다. detection 성능은 현재 2022년까지 최상의 성능을 내고있습니다. 오늘은 YOLOv5모델 중 YOLOv5n를 사용해 live demo를 진행해보도록 하겠습니다. 해당 블로그에서 실시간으로 demo가 가능하므로 카메라를 요청할수 있어요! 카메라로 어떤 정보나 해킹은 없으니 안심하고 사용하세요! ㅠㅠ 1. YOLOv5n TensorFlow.js 변환 YOLOv5에서는 다음 명령어로 TensorFlow.js모델로 변환하는 코드를 간단하게 제공하고 있습니다. git clone https://github.com/ultr..

    TensorFlow.js (3) TensorFlow.js 변환

    이번 글에서는 tf saved model(.pb)을 TensorFlow.js model(.json)으로 변환시키는 것을 목적으로 합니다. 2021년 google에서 나온 Efficientnetv2을 대상으로 TensorFlow.js로 변환하고 웹사이트에서 Efficientetv2으로 classification까지 해보죠! (만약 Efficientnetv2에 대해 알고싶다면 EfficientNetv2 논문 리뷰 참고해주세요~) 0. keras model를 tf saved model로 변환 TensorFlow.js 변환 하기 전에 EfficientNetv2는 keras model로 제공하고 있기 때문에 tf saved model로 변환부터 해보죠. (변환만 관심 있으시면 넘어 가시면 돼요!!) 해당 gith..

    TensorFlow.js (2) - WebGL 기반 hand pose detection

    0. WebGL 기반 hand pose detection 오늘은 TensorFlow.js의 backend가 무엇이 있는 지 알아보고 사용가능한 backend 중 하나인 WebGL을 기반으로 hand pose detection을 해볼것입니다. hand pose detection만 하면 재미가 없으니 hand pose 에 따라 다음과 같이 이모티콘을 보여줄 수 있도록 해봅니다. 엄지를 위로 올리면 엄지척하는 이모티콘이 나오도록 하고 아래로 내리면 OMG하는 이모티콘을 나오도록 하겠습니다. 1. TensorFlow.js backend TensorFlow.js에는 다양한 backend가 존재합니다. 일단 backend란 모델 그래프의 연산들을 수행하는 내부적인 플랫폼이라고 이해하시면 됩니다. 그래서 어떤 bac..

반응형