Sortie de Savant 0.2.7, un framework de vision par ordinateur et de deep learning

Le framework Python Savant 0.2.7 a été publié, facilitant l'utilisation de NVIDIA DeepStream pour résoudre les problèmes liés à l'apprentissage automatique. Le framework s'occupe de tout le gros du travail avec GStreamer ou FFmpeg, vous permettant de vous concentrer sur la création de pipelines de sortie optimisés à l'aide de la syntaxe déclarative (YAML) et des fonctions Python. Savant vous permet de créer des pipelines qui fonctionnent aussi bien sur les accélérateurs du centre de données (NVIDIA Turing, Ampere, Hopper) que sur les appareils de périphérie (NVIDIA Jetson NX, AGX Xavier, Orin NX, AGX Orin, New Nano). Avec Savant, vous pouvez facilement traiter plusieurs flux vidéo simultanément et créer rapidement des pipelines d'analyse vidéo prêts pour la production à l'aide de NVIDIA TensorRT. Le code du projet est distribué sous la licence Apache 2.0.

Savant 0.2.7 est la dernière version de modification de fonctionnalités de la branche 0.2.X. Les futures versions de la branche 0.2.X incluront uniquement des corrections de bugs. Le développement de nouvelles fonctionnalités sera réalisé dans la branche 0.3.X, basée sur DeepStream 6.4. Cette branche ne prendra pas en charge la famille d'appareils Jetson Xavier car NVIDIA ne les prend pas en charge dans DS 6.4.

Principales nouveautés :

  • Nouveaux cas d'utilisation :
    • Un exemple de travail avec un modèle de détection basé sur le transformateur RT-DETR ;
    • Post-traitement CUDA avec CuPy pour YOLOV8-Seg ;
    • Un exemple d'intégration de PyTorch CUDA dans le pipeline Savant ;
    • Démonstration de travail avec des objets orientés.

    Sortie de Savant 0.2.7, un framework de vision par ordinateur et de deep learning

  • Nouvelles fonctionnalités:
    • Intégration avec Prometheus. Le pipeline peut exporter des métriques d'exécution vers Prometheus et Grafana pour la surveillance et le suivi des performances. Les développeurs peuvent déclarer des métriques personnalisées qui sont exportées avec les métriques système.
    • Adaptateur de tampon : implémente un tampon transactionnel persistant sur le disque pour les données déplacées entre les adaptateurs et les modules. Avec son aide, vous pouvez développer des pipelines très chargés qui consomment des ressources de manière imprévisible et résistent aux rafales de trafic. L'adaptateur exporte ses données d'élément et de taille vers Prometheus.
    • Mode de compilation du modèle. Les modules peuvent désormais compiler leurs modèles dans TensorRT sans exécuter de pipeline.
    • Gestionnaire d'événements d'arrêt de PyFunc. Cette nouvelle API permet de gérer les arrêts de pipeline de manière fluide, libérant ainsi des ressources et informant les systèmes tiers que l'arrêt s'est produit.
    • Filtrage de trames en entrée et en sortie. Par défaut, le pipeline accepte toutes les images contenant des données vidéo. Grâce au filtrage des entrées et des sorties, les développeurs peuvent filtrer les données pour empêcher leur traitement.
    • Post-traitement du modèle sur le GPU. Avec cette nouvelle fonctionnalité, les développeurs peuvent accéder aux tenseurs de sortie du modèle directement à partir de la mémoire GPU sans les charger dans la mémoire CPU et les traiter à l'aide de CuPy, TorchVision ou OpenCV CUDA.
    • Fonctions de représentation de la mémoire GPU. Dans cette version, nous avons fourni des fonctions pour convertir les tampons de mémoire entre les tenseurs OpenCV GpuMat, PyTorch GPU et CuPy.
    • API pour accéder aux statistiques sur l'utilisation des files d'attente du pipeline. Savant vous permet d'ajouter des files d'attente entre PyFuncs pour implémenter un traitement parallèle et un traitement en mémoire tampon. L'API ajoutée donne aux développeurs l'accès aux files d'attente déployées dans le pipeline et leur permet d'interroger leur utilisation.

Dans la prochaine version (0.3.7), il est prévu de passer à DeepStream 6.4 sans étendre les fonctionnalités. L'idée est d'obtenir une version entièrement compatible avec la 0.2.7, mais basée sur DeepStream 6.4 et une technologie améliorée, mais sans rompre la compatibilité au niveau de l'API.

Source: opennet.ru

Ajouter un commentaire