ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ 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;
- ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
- ΠΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ 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, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° DeepStream 6.4 ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Π±Π΅Π· Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ API.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru