AI Engineering/NVIDIA

반응형

    [NVIDIA] DALI multi-GPU 사용법 with PyTorch

    ※ 해당 글은 vision ai, classification task 관련된 내용만 다룹니다. 오늘은 이전 글에 이어서 DALI dataloader를 multi-gpu로 load하는 방법을 설명드리고 single-gpu와 multi-gpu간의 속도 차이를 확인해보겠습니다. 그리고 이전 글에서 추가된 부분만 설명드리도록 하겠습니다. 0. Experiment Setup DALI를 적용해볼 data type은 image와 video 이며 실험환경은 다음과 같습니다. PyPI PyTorch: 1.10.0 DALI: 1.6 decord: 0.6.0 OpenCV: 4.5.3.56 Hardware CPU: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz GPU: Tesla V100-PCIE..

    [NVIDIA] DALI 사용법 with PyTorch

    ※ 해당 글은 vision ai, classification task 관련된 내용만 다룹니다. 오늘은 DALI를 사용하는 방법을 알아보고 DALI를 사용했을 때와 사용하지 않았을 경우의 time cost차이를 직접 측정해보도록 하겠습니다. 1. DALI 란? Data Loading Library (DALI)는 DNN을 training할때 data loading 및 pre-processing을 GPU을 사용할 수 있도록 하는 GPU-accelerated library 그래서 CPU를 사용할 때보다 훨씬 빠르게 training이 가능 DALI는 자체적인 execution engine을 가지며 input pipeline의 throughput을 최대화 시키기위해 설계됨 DALI는 portable하기 때문에 Py..

    [NVIDIA] TensorRT inference 코드 및 예제 (feat. yolov7)

    이전의 TensorRT plugin 사용하는 방법을 설명드렸는데요. TRT모델로 inference하는 코드에 대한 설명이 부족하고 저도 잘 이해하지 못한 부분이 있어 이번 글에서 설명드립니다. 0. Inference용 모델 및 개발 환경 Inference를 위해 사용한 모델은 YOLOv7 모델입니다. 모델은 yolov7.trt 다운가능하며 input의 shape은 (1,3,640,640)로 설정하였으며 output은 총 4개로 나뉘면 각각 num_detections(detection된 object개수), nmsed_boxes(object의 bounding box 좌표), nmsed_scores(object의 confidence score), nmsed_classes(object의 class)입니다. ou..

    [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는 아래와 같습니다. ..

반응형