Oefening: de DeepStream-voorbeeldtoepassingen wijzigen
Nu u een DeepStream-voorbeeldtoepassing hebt uitgevoerd, kunt u de voorbeelden wijzigen om ander gedrag te krijgen.
Laten we beginnen met het bekijken van de structuur van de voorbeeldconfiguratie in een teksteditor. We maken een kopie van de voorbeeldconfiguratie die in de vorige sectie wordt gebruikt en bekijken enkele instellingen die we kunnen wijzigen. Voer deze opdrachten uit:
cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app sudo cp source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt sudo vi source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
Notitie
Hier volgen enkele tips voor het gebruik van vi wanneer u het bestand source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt bewerkt:
- Druk op de i-toets om de editor in de modus Invoegen te plaatsen. Vervolgens kunt u wijzigingen aanbrengen.
- Druk op Esc om de modus Invoegen af te sluiten en terug te keren naar de normale modus.
- Als u wilt opslaan en afsluiten, voert u :x in en drukt u op Enter.
- Sla het bestand op, voer :w in en druk op Enter.
- Als u vi wilt sluiten, typt u :quit en drukt u op Enter.
Let op de verschillende configuratiesecties en hoe ze bijdragen aan de algehele toepassing. Deze secties worden aangeduid met vierkante haken (
[]
). Bijvoorbeeld,[application]
,[tiled-display]
[source0
]en[sink0]
. Deze secties worden uitgebreid beschreven in de sectie Configuratiegroepen van de DeepStream SDK-documentatie.Als u bijvoorbeeld de invoer wilt wijzigen voor het gebruik van een RTSP-videostream in plaats van een lokaal videobestand, wijzigt
[tiled-display]
u en[source0]
:[tiled-display] enable=1 rows=2 columns=2 width=1280 height=720 gpu-id=0 #(0): nvbuf-mem-default - Default memory allocated, specific to particular platform #(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla #(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla #(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla #(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson nvbuf-memory-type=0 [source0] enable=1 #Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP type=3 uri=file://../../streams/sample_1080p_h264.mp4 num-sources=4 #drop-frame-interval=2 gpu-id=0 # (0): memtype_device - Memory type Device # (1): memtype_pinned - Memory type Host Pinned # (2): memtype_unified - Memory type Unified cudadec-memtype=0
Breng vervolgens de volgende wijzigingen aan. (Let op de wijzigingen in de
rows
velden ,columns
,type
enuri
num-sources
velden.)[tiled-display] enable=1 rows=1 columns=1 width=1280 height=720 gpu-id=0 #(0): nvbuf-mem-default - Default memory allocated, specific to particular platform #(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla #(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla #(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla #(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson nvbuf-memory-type=0 [source0] enable=1 #Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP type=4 uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov num-sources=1 #drop-frame-interval=2 gpu-id=0 # (0): memtype_device - Memory type Device # (1): memtype_pinned - Memory type Host Pinned # (2): memtype_unified - Memory type Unified cudadec-memtype=0
Voer de gewijzigde configuratie uit met behulp van deze opdrachten:
cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
Probeer dit eens
Bekijk de verschillende voorbeeldconfiguraties die zijn opgenomen in de DeepStream SDK. Hoe kunt u deze voorbeelden wijzigen om een smart-home-beveiligingssysteem te maken? Stel dat u meerdere RTSP-camera's hebt die feeds leveren via unieke RTSP-eindpunten. Kunt u een DeepStream-toepassing maken die gebruikmaakt van deze live videostreams als invoer en deductie toepassen om personen en voertuigen te detecteren?
Volgende stappen
Voltooi een laatste kennistoets om deze module te voltooien en uw trofee te verdienen.