Skip to content

Commit

Permalink
use dictionary for detectors for sensors
Browse files Browse the repository at this point in the history
  • Loading branch information
blakeblackshear committed Oct 18, 2020
1 parent 76befc1 commit 623d138
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
3 changes: 2 additions & 1 deletion config/config.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ web_port: 5000
## EdgeTPU requires device as defined here: https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api
################
detectors:
- type: edgetpu
coral:
type: edgetpu
device: usb

mqtt:
Expand Down
18 changes: 9 additions & 9 deletions detect_objects.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def run(self):
now = datetime.datetime.now().timestamp()

# check the detection processes
for detector in self.detectors:
for detector in self.detectors.values():
detection_start = detector.detection_start.value
if (detection_start > 0.0 and
now - detection_start > 10):
Expand Down Expand Up @@ -186,12 +186,12 @@ def on_connect(client, userdata, flags, rc):

detection_queue = mp.Queue()

detectors = []
for detector in DETECTORS:
detectors = {}
for name, detector in DETECTORS.items():
if detector['type'] == 'cpu':
detectors.append(EdgeTPUProcess(detection_queue, out_events=out_events, tf_device='cpu'))
detectors[name] = EdgeTPUProcess(detection_queue, out_events=out_events, tf_device='cpu')
if detector['type'] == 'edgetpu':
detectors.append(EdgeTPUProcess(detection_queue, out_events=out_events, tf_device=detector['device']))
detectors[name] = EdgeTPUProcess(detection_queue, out_events=out_events, tf_device=detector['device'])

# create the camera processes
camera_processes = {}
Expand Down Expand Up @@ -373,13 +373,13 @@ def stats():
}
}

stats['detectors'] = []
for detector in detectors:
stats['detectors'].append({
stats['detectors'] = {}
for name, detector in detectors.items():
stats['detectors'][name] = {
'inference_speed': round(detector.avg_inference_speed.value*1000, 2),
'detection_start': detector.detection_start.value,
'pid': detector.detect_process.pid
})
}
stats['detection_fps'] = round(total_detection_fps, 2)

return jsonify(stats)
Expand Down

0 comments on commit 623d138

Please sign in to comment.