Skip to content

Commit 4cec4ff

Browse files
authored
Merge pull request #55 from SnuffSocket/onnx-branch
Fix: Set ONNX Options: Disable telemetry, limit threads, lower CPU usage
2 parents fec1153 + aa33f45 commit 4cec4ff

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

BabbleApp/babble_processor.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,13 @@ def __init__(
8989
self.calibrate_config = np.empty((1, 45))
9090
self.min_max_array = np.empty((2, 45))
9191

92+
ort.disable_telemetry_events()
9293
self.opts = ort.SessionOptions()
94+
self.opts.inter_op_num_threads = 1
9395
self.opts.intra_op_num_threads = settings.gui_inference_threads
9496
self.opts.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
97+
self.opts.add_session_config_entry("session.intra_op.allow_spinning", "0") # ~3% savings worth ~6ms avg latency. Not noticeable at 60fps?
98+
self.opts.enable_mem_pattern = False
9599
if self.runtime in ("ONNX", "Default (ONNX)"): # ONNX
96100
if self.use_gpu:
97101
provider = "DmlExecutionProvider"

BabbleApp/landmark_processor.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,13 @@ def __init__(
8888
#self.calibrate_config = np.empty((1, 45))
8989
#self.min_max_array = np.empty((2, 45))
9090

91-
91+
ort.disable_telemetry_events()
9292
self.opts = ort.SessionOptions()
93+
self.opts.inter_op_num_threads = 1
9394
self.opts.intra_op_num_threads = settings.gui_inference_threads
9495
self.opts.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
96+
self.opts.add_session_config_entry("session.intra_op.allow_spinning", "0") # ~3% savings worth ~6ms avg latency. Not noticeable at 60fps?
97+
self.opts.enable_mem_pattern = False
9598
if self.runtime in ("ONNX", "Default (ONNX)"): # ONNX
9699
if self.use_gpu: provider = 'DmlExecutionProvider'
97100
else: provider = "CPUExecutionProvider" # Build onnxruntime to get both DML and OpenVINO
@@ -219,7 +222,7 @@ def run(self):
219222
self.current_image,
220223
self.current_frame_number,
221224
self.current_fps,
222-
) = self.capture_queue_incoming.get(block=True, timeout=0.2)
225+
) = self.capture_queue_incoming.get(block=True, timeout=0.1)
223226
except queue.Empty:
224227
# print("No image available")
225228
continue

0 commit comments

Comments
 (0)