Skip to content

Commit 5c7dc99

Browse files
committed
Fix: Set ONNX Options: Disable telemetry, limit threads, lower CPU usage, potential "memory leak"
1 parent fc56aba commit 5c7dc99

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

BabbleApp/babble_processor.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,13 @@ def __init__(
8787
self.calibrate_config = np.empty((1, 45))
8888
self.min_max_array = np.empty((2, 45))
8989

90+
ort.disable_telemetry_events()
9091
self.opts = ort.SessionOptions()
92+
self.opts.inter_op_num_threads = 1
9193
self.opts.intra_op_num_threads = settings.gui_inference_threads
9294
self.opts.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
95+
self.opts.add_session_config_entry("session.intra_op.allow_spinning", "0") # ~3% savings worth ~6ms avg latency. Not noticeable at 60fps?
96+
self.opts.enable_mem_pattern = False
9397
if self.runtime == "ONNX" or self.runtime == "Default (ONNX)": # ONNX
9498
if self.use_gpu: provider = 'DmlExecutionProvider'
9599
else: provider = "CPUExecutionProvider" # Build onnxruntime to get both DML and OpenVINO
@@ -241,4 +245,4 @@ def run(self):
241245
self.output_images_and_update(CamInfo(self.current_algo, self.output))
242246

243247
def get_framesize(self):
244-
return self.FRAMESIZE
248+
return self.FRAMESIZE

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 == "ONNX" or self.runtime == "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)