Выпуск Savant 0.2.7, фрэймворка кампутарнага зроку і глыбокага навучання

Апублікаваны выпуск Python-фрэймворка Savant 0.2.7, які спрашчае выкарыстанне NVIDIA DeepStream для рашэння задач, звязаных з машынным навучаннем. Фрэймворк бярэ на сябе ўсю складаную працу з GStreamer ці FFmpeg, дазваляючы засяродзіцца на пабудове аптымізаваных канвеераў вываду з дапамогай дэкларатыўнага сінтаксісу (YAML) і функцый Python. Savant дазваляе ствараць канвееры (pipeline), якія аднолькава працуюць як на паскаральніках у датацэнтры (NVIDIA Turing, Ampere, Hopper), так і на edge-прыладах (NVIDIA Jetson NX, AGX Xavier, Orin NX, AGX Orin, New Nano). З дапамогай Savant можна лёгка апрацоўваць некалькі відэаструменяў адначасова, хутка ствараць гатовыя да працоўных ужыванняў канвееры відэааналітыкі, якія выкарыстоўваюць NVIDIA TensorRT. Код праекту распаўсюджваецца пад ліцэнзіяй Apache 2.0.

Savant 0.2.7 - гэта апошні рэліз са зменай функцыянальнасці ў галінцы 0.2.X. Наступныя рэлізы ў галінцы 0.2.X будуць уключаць толькі выпраўленні памылак. Распрацоўка новых функцый будзе весціся ў галінцы 0.3.X, заснаванай на DeepStream 6.4. Дадзеная галінка не будзе падтрымліваць сямейства прылад Jetson Xavier, паколькі кампанія NVIDIA не падтрымлівае іх у DS 6.4.

Асноўныя навіны:

  • Новыя прыклады выкарыстання:
    • Прыклад працы з мадэллю дэтэкцыі на аснове трансформера RT-DETR;
    • CUDA-постпрацэсінг з дапамогай CuPy для YOLOV8-Seg;
    • Прыклад інтэграцыі PyTorch CUDA у пайплайн Savant;
    • Дэманстрацыя працы з арыентаванымі аб'ектамі.

    Выпуск Savant 0.2.7, фрэймворка кампутарнага зроку і глыбокага навучання

  • Новыя функцыі:
    • Інтэграцыя з Prometheus. Канвеер можа экспартаваць метрыкі выканання ў Prometheus і Grafana для маніторынгу і адсочвання прадукцыйнасці. Распрацоўнікі могуць абвясціць карыстацкія метрыкі, якія экспартуюцца разам з сістэмнымі метрыкамі.
    • Буферны адаптар - рэалізуе пастаянны транзакцыйны буфер на дыску для дадзеных, якія перамяшчаюцца паміж адаптарамі і модулямі. З яго дапамогай можна распрацоўваць высоканагружаныя канвееры, непрадказальна якія спажываюць рэсурсы і вытрымоўвалыя ўсплёскі трафіку. Адаптар экспартуе ў Prometheus свае дадзеныя аб элементах і памерах.
    • Рэжым кампіляцыі мадэляў. Модулі зараз могуць кампіляваць свае мадэлі ў TensorRT без запуску канвеера.
    • Апрацоўшчык падзеі shutdown у PyFunc. Гэты новы API дазваляе карэктна апрацоўваць аперацыі завяршэння працы канвеера, вызваляючы рэсурсы і апавяшчаючы іншыя сістэмы аб завяршэнні працы.
    • Фільтраванне кадраў на ўваходзе і выхадзе. Па змаўчанні канвеер прымае ўсе кадры, якія змяшчаюць відэададзеныя. З дапамогай фільтрацыі на ўваходзе і выхадзе распрацоўшчыкі могуць фільтраваць дадзеныя, каб выключыць іх апрацоўку.
    • Постабпрацоўка мадэлі на GPU. Дзякуючы новай функцыі распрацоўнікі могуць атрымліваць доступ да выходных тэнзараў мадэлі непасрэдна з памяці GPU, не загружаючы іх у памяць CPU і апрацоўваць іх з дапамогай CuPy, TorchVision ці OpenCV CUDA.
    • Функцыі прадстаўлення памяці GPU. У гэтым выпуску мы падалі функцыі для пераўтварэння буфераў памяці паміж OpenCV GpuMat, GPU-тэнзарамі PyTorch і тэнзарамі CuPy.
    • API доступу да статыстыкі выкарыстання чэргаў пайплайна. Savant дазваляе дадаваць чэргі паміж PyFunc для рэалізацыі паралельнай апрацоўкі і буферызавання апрацоўкі. Дададзены API дае распрацоўнікам доступ да чэргаў, разгорнутым у канвееры, і дазваляе запытваць іх выкарыстанне.

У наступным выпуску (0.3.7) плануецца перайсці на DeepStream 6.4/0.2.7 без пашырэння функцыянальнасці. Ідэя ў тым, каб атрымаць рэліз, цалкам сумяшчальны з 6.4, але заснаваны на DeepStream XNUMX і палепшанай тэхналогіі, але без парушэнняў сумяшчальнасці на ўзроўні API.

Крыніца: opennet.ru

Дадаць каментар