Machine Learning/Edge Device

    Install Apache TVM

    Install Apache TVM

    Apache TVM 이란? CPU, GPU 및 기계 학습 가속기를 위한 오픈 소스 기계 학습 컴파일러 프레임워크 백엔드에서 계산을 효율적으로 최적화하고 실행할 수 있도록 하는 것을 목표로 한다 TVM 흐름 지원하는 딥러닝 모델 컴파일 프레임워크 Tensorflow Keras Core ML MXNet ONNX Pytorch DarkNet Caffe2 → ONNX CNTK → ONNX … 실행 가능한 위치 or 하드웨어 CPU GPU ARM AMDGPU FPGA NVCC ….. TVM 설치 git clone git clone --recursive tvm tvm 폴더에서 진행 cd tvm 패키지 설치 sudo apt-get update sudo apt-get install -y python3 python3-d..

    ONNX Quantization Test

    mobileNet float32 → uInt8 예제 https://github.com/microsoft/onnxruntime-inference-examples GitHub - microsoft/onnxruntime-inference-examples: Examples for using ONNX Runtime for machine learning inferencing. Examples for using ONNX Runtime for machine learning inferencing. - GitHub - microsoft/onnxruntime-inference-examples: Examples for using ONNX Runtime for machine learning inferencing. github...

    ONNX & TensorRT & TVM

    ONNX & TensorRT & TVM

    ONNX ONNX는 확장 가능한 계산 그래프 모델의 정의와 기본 제공 연산자 및 표준 데이터 유형의 정의를 제공합니다. 각 계산 데이터 흐름 그래프는 비순환 그래프를 형성하는 노드 목록으로 구성됩니다. 노드에는 하나 이상의 입력과 하나 이상의 출력이 있습니다. 각 노드는 연산자에 대한 호출입니다. 그래프에는 목적, 작성자 등을 문서화하는 데 도움이 되는 메타데이터도 있습니다. 연산자는 그래프 외부에서 구현되지만 기본 제공 연산자 세트는 프레임워크 간에 이식 가능합니다. ONNX를 지원하는 모든 프레임워크는 적용 가능한 데이터 유형에 대한 이러한 연산자의 구현을 제공합니다. https://onnx.ai/about.html ONNX | About Technical Design ONNX provides a d..

    경량화 기법 원리 ( 가지치기, 지식증류, 양자화 )

    경량화 기법 원리 ( 가지치기, 지식증류, 양자화 )

    Prunning : 가지치기 머신러닝은 심층 신경망으로 인해 많은 발전을 이루었다. 발전 할 수록 모델 네트워크는 엄청난 양의 계산과 메모리가 필요하게 되었는데 이러한 요구 사항은 인프라 비용뿐만 아니라 엣지 디바이스와 같은 한정된 리소스를 가진 환경에 배포하는 것을 어렵게 만들었다. 이러한 리소스 요구 사항을 줄이기 위한 널리 사용되는 접근 방식 중 하나가 신경망 가지치기다. 가지치기는 Threshold 보다 크기가 낮은 가중치들을 제거하여 모델에 포함된 매개변수 수를 줄임으로써 모델을 압축하고 가중치를 재학습 하는 과정을 반복하여 간소화된 모델을 생성한다. 간소화된 모델은 매개변수가 줄어 사용되는 메모리가 줄어들게 되고 네트워크의 크기가 줄어들어 지연 시간(ms)이 줄어드는 특징이 있다. [그림1-1..

    Docker에서 TensorRT 설치

    Docker에서 TensorRT 설치

    Docker에서 TensorRT 설치 환경 gpu가 존재하는 컴퓨터 nvidia driver가 설치되어 있는 컴퓨터 Docker가 설치 (유) Docker Image : nvidia/cuda:11.4.1-cudnn8-devel-ubuntu20.04 도커 컨테이너 생성 명령어 sudo docker run -itd --gpus '"device=0"' --name=edge_device --restart=always -p 10000:8080 -v /mnt/edge_device:/mnt/edge_device nvidia/cuda:11.4.1-cudnn8-devel-ubuntu20.04 /bin/bash 도커 컨테이너 접속 docker exec -it edge_device /bin/bash 텐서RT 다운로드 아래 ..