mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-27 01:43:46 +08:00
1a8dd310ae
* Add support for TinyGrad model runner processing Introduced a new function `is_tinygrad_model` to detect TinyGrad as an active model runner. Updated the `is_stock_model` logic to account for TinyGrad models and added a new process entry for TinyGrad in the model manager. This enables handling TinyGrad models alongside existing configurations. adding modeld back Add support for `modeld_v2` and update paths for consistency Updated `SConscript` files to integrate `modeld_v2` alongside `modeld` and adjusted script paths for correct metadata handling. Adjusted various configurations and scripts, such as `labeler.yaml` and `build_release.sh`, to include `modeld_v2` and ensure cohesive project structure. Refactor imports to use updated `modeld_v2` paths. Replaced outdated `modeld` references with their `modeld_v2` counterparts for consistency and clarity across the codebase. Also updated `.gitignore` to accommodate new directory structure. This change ensures better maintainability and alignment with the new directory schema. Refactor and reorganize modeld to sunnypilot/modeld_v2 structure. Moved and renamed `modeld` components to the new `sunnypilot/modeld_v2` directory for better organization and modularity. Updated imports and file references to align with the new structure, ensuring compatibility and functionality. Streamlined project structure to improve maintainability and future development. * typo * Use `stock` model runner and refactor model checks. Replaces outdated model detection logic with unified `stock` runner integration, simplifying the decision flow for model selection. Includes `stock` as a new enum in the `Runner` type and updates affected references accordingly. * Handle missing 'sim_pose' in model outputs gracefully. Added conditional checks to ensure the code handles cases where 'sim_pose' is absent in the model outputs. Fallback behaviors use 'plan' data when 'sim_pose' is unavailable, preventing potential errors and enhancing robustness.
40 lines
1009 B
Python
Executable File
40 lines
1009 B
Python
Executable File
#!/usr/bin/env python3
|
|
# type: ignore
|
|
|
|
import os
|
|
import time
|
|
import numpy as np
|
|
|
|
import cereal.messaging as messaging
|
|
from openpilot.system.manager.process_config import managed_processes
|
|
|
|
|
|
N = int(os.getenv("N", "5"))
|
|
TIME = int(os.getenv("TIME", "30"))
|
|
|
|
if __name__ == "__main__":
|
|
sock = messaging.sub_sock('modelV2', conflate=False, timeout=1000)
|
|
|
|
execution_times = []
|
|
|
|
for _ in range(N):
|
|
os.environ['LOGPRINT'] = 'debug'
|
|
managed_processes['modeld'].start()
|
|
time.sleep(5)
|
|
|
|
t = []
|
|
start = time.monotonic()
|
|
while time.monotonic() - start < TIME:
|
|
msgs = messaging.drain_sock(sock, wait_for_one=True)
|
|
for m in msgs:
|
|
t.append(m.modelV2.modelExecutionTime)
|
|
|
|
execution_times.append(np.array(t[10:]) * 1000)
|
|
managed_processes['modeld'].stop()
|
|
|
|
print("\n\n")
|
|
print(f"ran modeld {N} times for {TIME}s each")
|
|
for _, t in enumerate(execution_times):
|
|
print(f"\tavg: {sum(t)/len(t):0.2f}ms, min: {min(t):0.2f}ms, max: {max(t):0.2f}ms")
|
|
print("\n\n")
|