mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 22:23:56 +08:00
PC: fix onnxruntime excessive CPU (#23051)
* onnxruntime-gpu two threads
* relock pipfile
Co-authored-by: jwolffe <wolffja@gmail.com>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: db9ea45cd5
This commit is contained in:
4
Pipfile
4
Pipfile
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:52b8d2b00d9d1d8b3430c2bc74e4ff51ab460317f931ed35cc74c6b9cc90f4d0
|
||||
size 1211
|
||||
oid sha256:46258ab149de8606b809e271264382d5450c11e914bb72c37697345290bd39f1
|
||||
size 1215
|
||||
|
||||
4
Pipfile.lock
generated
4
Pipfile.lock
generated
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3a3f3fe1935735e8ad7b9f24c39e200e5d462704d97276520227043bab07890e
|
||||
size 145075
|
||||
oid sha256:871bf11488728e41699192b10314fde73cd8ca57acc803d452de76ac756bf3af
|
||||
size 144757
|
||||
|
||||
@@ -5,8 +5,9 @@ import sys
|
||||
import numpy as np
|
||||
|
||||
os.environ["OMP_NUM_THREADS"] = "4"
|
||||
os.environ["OMP_WAIT_POLICY"] = "PASSIVE"
|
||||
|
||||
import onnxruntime as ort
|
||||
import onnxruntime as ort # pylint: disable=import-error
|
||||
|
||||
def read(sz):
|
||||
dd = []
|
||||
@@ -38,22 +39,22 @@ def run_loop(m):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(ort.get_available_providers(), file=sys.stderr)
|
||||
print("Onnx available providers: ", ort.get_available_providers(), file=sys.stderr)
|
||||
options = ort.SessionOptions()
|
||||
options.graph_optimization_level = ort.GraphOptimizationLevel.ORT_DISABLE_ALL
|
||||
if 'OpenVINOExecutionProvider' in ort.get_available_providers() and 'ONNXCPU' not in os.environ:
|
||||
print("OnnxJit is using openvino", file=sys.stderr)
|
||||
options = ort.SessionOptions()
|
||||
options.graph_optimization_level = ort.GraphOptimizationLevel.ORT_DISABLE_ALL
|
||||
provider = 'OpenVINOExecutionProvider'
|
||||
elif 'CUDAExecutionProvider' in ort.get_available_providers() and 'ONNXCPU' not in os.environ:
|
||||
options.intra_op_num_threads = 2
|
||||
provider = 'CUDAExecutionProvider'
|
||||
else:
|
||||
print("OnnxJit is using CPU", file=sys.stderr)
|
||||
options = ort.SessionOptions()
|
||||
options.intra_op_num_threads = 4
|
||||
options.intra_op_num_threads = 2
|
||||
options.inter_op_num_threads = 8
|
||||
options.execution_mode = ort.ExecutionMode.ORT_SEQUENTIAL
|
||||
options.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
|
||||
|
||||
provider = 'CPUExecutionProvider'
|
||||
|
||||
ort_session = ort.InferenceSession(sys.argv[1], options)
|
||||
ort_session.set_providers([provider], None)
|
||||
print("Onnx selected provider: ", [provider], file=sys.stderr)
|
||||
ort_session = ort.InferenceSession(sys.argv[1], options, providers=[provider])
|
||||
print("Onnx using ", ort_session.get_providers(), file=sys.stderr)
|
||||
run_loop(ort_session)
|
||||
|
||||
Reference in New Issue
Block a user