← Topics

ONNX-MLIR

6 notes

ONNX-Runtime에서 Custom Operator 구현 Study

서론 이 장은 ORT(ONNX-Runtime)에서 Custom Operator를 구현하는 방법에 대해 study한것을 설명한다. ONNX Operation은 하나 이상의 커널을 갖는다. 각 커널은 연산이 어떻게 실행되는지를 정의하며 커널은 특정 하드웨어에 대해 최적화되어 있다. 따라서 ORT가 다양한 하

ONNX-MLIR Flow

서론 이 장은 ONNX-MLIR의 소스코드를 분석하여 해당 코드의 역할을 파악한다. 목차 Conversion ONNXToKrnl Pattern ONNXToMhlo Pattern ONNXToTosa Pattern Pass Transform Compiler Function Call API 등록 및 정의 Ma

Emit C

서론 MLIR-EmitC provides a way to translate ML models into C++ code. The repository contains scripts and tools to translate Keras and TensorFlow models into the TOSA and MH

MLIR Inference Code

서론 이 장은 ONNX-MLIR을 통해 생성된 공유 라이브러리(.so)를 가지고 추론하는 코드를 공유한다. 목차 ONNX Inference Code MLIR Inferece Code Pytorch Inference Code ONNX Inference Code Code import cv2 import on

ONNX-MLIR 설치 가이드

서론 이 장은 ONNX-MLIR 직접적인 환경설치 방법에 대해 다룬다. 사용되는 OS는 Ubuntu 20.04 LTS Amd64, Mac os M1 에서 설치가 가능하며 Raspi와 같이 Edge Device에서 사용되는 ARM architecture에서 시도해보았으나 설치가 불가능하다.(LLVM은 지원

ONNX-MLIR 다뤄보기(MobileNetV2-12)

서론 이 장은 ONNX-MLIR로 모델을 컴파일 하는 방법에 대해 소개한다. Docker를 사용하거나 직접 설치해서 사용할 수 있다.(직접설치하는 방법 바로가기) 그리고 기존 onnx모델을 shared library형태에로 컴파일 한 후, Inference를 진행해본다. (환경) AMD64 Archite