AI Engineering/TensorFlow

반응형

    TFLite 뽀개기 (4) XNNPACK 이해 및 성능 비교

    1. XNNPACK이란? XNNPACK은 아래와 같은 다양한 device(architecture)를 위해 floating-point neural netowrk의 inference operator를 최적화한 library입니다. (floating-point란 fp32, fp16 모델만 가속화 가능하다는 뜻입니다.) 한마디로 DL 모델의 inference속도를 가속화 해주는 library입니다. Desktop기준으로 XNNPACK을 사용하기 위해서는 bazel build할때 XNNPACK사용에 대한 명시를 해주어야 합니다. 그리고 TFLite모델에만 사용이 가능합니다. 또 다른 특징으로는 XNNPACK은 PAD operator와 CONV_2D operator(with VALID padding)을 감지하여 하..

    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..

    TensorFlow.js (1) - TensorFlow.js 이해 및 detection 예제

    1. TensorFlow.js 란?? TenosorFlow.js는 javascript를 기반으로 하여 웹환경에서 사용되는 머신러닝 라이브러리입니다. 1.1 TensorFlow.js의 특징 Web 기술과의 통합 TensorFlow.js는 javascript로 작성되므로 웹 브라우저에서 ML model을 별도의 수정없이 동작가능하게 해줌 ML 애플리케이션 배포에 용이 Web browser 상에서의 다수의 backend 지원 WebGL [GPU]: 웹 브라우저에서 GPU를 사용할 수 있게 해주는 표준 명세서로 GPU acceleration가능함. (3MB 이상의 ML모델에 적합) Web Assembly (WASM) [CPU]: CPU performance의 향상시킬수 있다는 특징. (3MB 이하의 ML 모델사..

    Mediapipe (2) - custom segmentation model with mediapipe

    1. Mediapipe custom model 적용 이전 글 (mediapipe 이해)와 같은 실험환경에서 글을 작성하니 참고 바랍니다. 이번 글에서는 custom하게 만들어놓은 tflite model로 mediapipe에 적용해보겠습니다. tflite model의 task는 portrait segmentation 이며 mac book의 camera를 통해 live로 portrait segementation을 목적으로 합니다. 이제 차근차근 한 Step씩 custom한 모델을 mediapipe에 어떻게 적용시키는 지 보시려면 아래부터 쭉 읽으시면 되시고 과정은 생략하고 빠르게 결과를 확인하고 싶으실 경우 밑에 Appendix 1.을 읽어보시면 됩니다. 1.1 portrait segmentation mod..

반응형