De release van het Python-framework Savant 0.2.7 is uitgebracht, dat het gebruik van NVIDIA DeepStream vereenvoudigt voor machine learning-taken. Het framework neemt al het complexe werk met GStreamer of FFmpeg op zich, waardoor je je kunt concentreren op het bouwen van geoptimaliseerde uitvoerpijplijnen met behulp van declaratieve syntaxis (YAML) en Python-functies. Savant maakt het mogelijk om pijplijnen te creƫren die zowel werken op versnellers in datacenters (NVIDIA Turing, Ampere, Hopper) als op edge-apparaten (NVIDIA Jetson NX, AGX Xavier, Orin NX, AGX Orin, New Nano). Met Savant kun je eenvoudig meerdere videostreams gelijktijdig verwerken en snel werkende videanalyse-pijplijnen creƫren die gebruik maken van NVIDIA TensorRT. De code van het project wordt verspreid onder de Apache 2.0-licentie.
Savant 0.2.7 is de laatste release met gewijzigde functionaliteit in de 0.2.X-tak. Volgende releases in de 0.2.X-tak zullen alleen bugfixes bevatten. De ontwikkeling van nieuwe functies zal plaatsvinden in de 0.3.X-tak, gebaseerd op DeepStream 6.4. Deze tak zal de Jetson Xavier-apparaatfamilie niet ondersteunen, aangezien NVIDIA deze niet ondersteunt in DS 6.4.
Belangrijkste vernieuwingen:
- Nieuwe gebruiksvoorbeelden:
- Voorbeeld van het werken met het model voor objectdetectie op basis van de transformer RT-DETR;
- CUDA-nabehandeling met CuPy voor YOLOV8-Seg;
- Voorbeeld van de integratie van PyTorch CUDA in de Savant-pijplijn;
- Demonstratie van de werking met gerichte objecten.

- Nieuwe functies:
- Integratie met Prometheus. De pijplijn kan prestatie-statistieken exporteren naar Prometheus en Grafana voor monitoring en prestatie tracking. Ontwikkelaars kunnen aangepaste statistieken declareren die samen met systeemstatistieken worden geƫxporteerd.
- Bufferadapter - implementeert een continue transactionele buffer op schijf voor gegevens die tussen adapters en modules bewegen. Hiermee kunnen hoogbelaste pijplijnen worden ontwikkeld die onvoorspelbaar middelen verbruiken en pieken in verkeer aankunnen. De adapter exporteert informatie over elementen en groottes naar Prometheus.
- Compilatiemodus voor modellen. Modulen kunnen nu hun modellen in TensorRT compileren zonder de pijplijn te starten.
- Shutdown-event handler in PyFunc. Deze nieuwe API maakt het mogelijk om correct om te gaan met het afsluiten van de pijplijn, waardoor middelen worden vrijgegeven en externe systemen worden geïnformeerd over de beëindiging.
- Frame filtering at the input and output. By default, the pipeline accepts all frames containing video data. With input and output filtering, developers can filter data to exclude it from processing.
- Post-processing of the model on the GPU. Thanks to the new feature, developers can access the model's output tensors directly from GPU memory without loading them into CPU memory and process them using CuPy, TorchVision, or OpenCV CUDA.
- GPU memory representation functions. In this release, we provided functions for converting memory buffers between OpenCV GpuMat, PyTorch GPU tensors, and CuPy tensors.
- API for accessing pipeline queue usage statistics. Savant allows the addition of queues between PyFunc for implementing parallel processing and buffering. The added API provides developers with access to the queues deployed in the pipeline and allows querying their usage.
In the next release (0.3.7), we plan to switch to DeepStream 6.4 without feature expansion. The idea is to get a release fully compatible with 0.2.7, but based on DeepStream 6.4 and improved technology without breaking API-level compatibility.
Bron: opennet.ru

