forked from insight-platform/Savant
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodule.yml
More file actions
93 lines (86 loc) · 3.47 KB
/
module.yml
File metadata and controls
93 lines (86 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# module name, required
name: pass-through-processing-${oc.env:MODULE_STAGE, 'detector'}
# base module parameters
parameters:
# pipeline processing frame parameters
frame:
width: 1280
height: 720
output_frame:
# "copy" codec means the pipeline works in pass-through mode
codec: ${oc.env:CODEC, 'copy'}
draw_func: ${json:${oc.env:DRAW_FUNC, null}}
batch_size: 1
detected_object:
id: 0
label: person
module_stage: ${oc.env:MODULE_STAGE, 'detector'}
# We use the default telemetry parameters from `savant/config/default.yml`,
# which can be configured with environment variables in Docker compose manifests.
#
# Optionally, you can override them here.
# telemetry:
# metrics:
# # Output stats after every N frames
# frame_period: ${oc.decode:${oc.env:METRICS_FRAME_PERIOD, 10000}}
# # Output stats after every N seconds
# time_period: ${oc.decode:${oc.env:METRICS_TIME_PERIOD, null}}
# # How many last stats to keep in the memory
# history: ${oc.decode:${oc.env:METRICS_HISTORY, 100}}
# # Metrics provider name
# provider: ${oc.decode:${oc.env:METRICS_PROVIDER, null}}
# # Parameters for metrics provider
# provider_params: ${json:${oc.env:METRICS_PROVIDER_PARAMS, null}}
# pipeline definition
pipeline:
# source definition is skipped, zeromq source is used by default to connect with source adapters
# define pipeline's main elements
elements:
- group:
# enabled if env var MODULE_STAGE==detector
init_condition:
expr: ${parameters.module_stage}
value: detector
elements:
- element: nvinfer@detector
name: peoplenet
model:
format: etlt
remote:
url: s3://savant-data/models/peoplenet/peoplenet_pruned_v2.0.zip
checksum_url: s3://savant-data/models/peoplenet/peoplenet_pruned_v2.0.md5
parameters:
endpoint: https://eu-central-1.linodeobjects.com
model_file: resnet34_peoplenet_pruned.etlt
input:
layer_name: input_1
shape: [ 3, 544, 960 ]
scale_factor: 0.0039215697906911373
output:
layer_names: [ output_bbox/BiasAdd, output_cov/Sigmoid ]
num_detected_classes: 3
objects:
- class_id: ${parameters.detected_object.id}
label: ${parameters.detected_object.label}
# tracker
- group:
# enabled if env var MODULE_STAGE==tracker
init_condition:
expr: ${parameters.module_stage}
value: tracker
elements:
# regular nvtracker definition
- element: nvtracker
properties:
ll-lib-file: /opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
ll-config-file: ${oc.env:PROJECT_PATH}/samples/assets/tracker/config_tracker_NvDCF_perf.yml
tracker-width: 960 # 640 # must be a multiple of 32
tracker-height: 544 # 384
display-tracking-id: 0
# pyfunc metrics example
- element: pyfunc
# specify the pyfunc's python module
module: samples.pass_through_processing.py_func_metrics_example
# specify the pyfunc's python class from the module
class_name: PyFuncMetricsExample
# sink definition is skipped, zeromq sink is used by default to connect with sink adapters