* Added modeld.py (WIP)
* No more VisionIpcBufExtra
* Started work on cython bindings for runmodel
* Got ONNXModel cython bindings mostly working, added ModelFrame bindings
* Got modeld main loop running without model eval
* Move everything into ModelState
* Doesn't crash!
* Moved ModelState into modeld.py
* Added driving_pyx
* Added cython bindings for message generation
* Moved CLContext definition to visionipc.pxd
* *facepalm*
* Move cl_pyx into commonmodel_pyx
* Split out ONNXModel into a subclass of RunModel
* Added snpemodel/thneedmodel bindings
* Removed modeld.cc
* Fixed scons for macOS
* Fixed sconscript
* Added flag for thneedmodel
* paths are now relative to openpilot root dir
* Set cl kernel paths in SConscript
* Set LD_PRELOAD=libthneed.so to fix ioctl interception
* Run from root dir
* A few more fixes
* A few more minor fixes
* Use C update_calibration for now to exactly match refs
* Add nav_instructions input
* Link driving_pyx.pyx with transformations
* Checked python FirstOrderFilter against C++ FirstOrderFilter
* Set process name to fix test_onroad
* Revert changes to onnxmodel.cc
* Fixed bad onnx_runner.py path in onnxmodel.cc
* Import all constants from driving.h
* logging -> cloudlog
* pylint import-error suppressions no longer needed?
* Loop in SConscript
* Added parens
* Bump modeld cpu usage in test_onroad
* Get rid of use_nav
* use config_realtime_process
* error message from ioctl sniffer was messing up pyenv
* cast distance_idx to int
* Removed cloudlog.infos in model.run
* Fixed rebase conflicts
* Clean up driving.pxd/pyx
* Fixed linter error
old-commit-hash: 72a3c987c0
* Clean up model_publish args to simplify cython bindings
* pass by reference
* Move FCW and model confidence queues into PublishState
old-commit-hash: 663fc0d8fe
* Fix flicker in nav enabled state
* Move all relevant information for validity checks into navModel packet
* Ignore locationMonoTime in replay tests
* Check route valid in navmodeld
* sm update
* check that
* update refs
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: e346839c68
* 0.7
* magic
* faster magic
* more simple
* up
* empty
* more mid bits
* naive
* flatten
* dz
* that can stay
* this is fine
* what the
* what the
* giRevert "what the"
This reverts commit 1619ba68e6.
* Revert "what the"
This reverts commit 0037dd3682.
* 1x fine
* that was fine
* combined
* independent cum
* 0 is fine
* use metrics
* up cereal
* process and publish from modeld
* cleanup
* use s.output
* bg
* a greener approach
* dns
* serial
* update ref commit
* rebase
* ref
* cereal master
---------
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: ce2dffe566
* driverview
* auto choose
* useless
* remove
* modeld not use toggle
* remove from params
* should have commissue anyway
* delete icon file
* deal with init more elegantly and prohibit switching when engaged
* nonblock save when not unstable
* filter very low speeds
* a few more secs dont harm
* draw icon
* match
* radius
* use const
* ref commit
* new transs
* put_bool_nonblocking
* 5k route tune
* ref comm
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 22408781f7
* Do not run model when skipping frames
* also prepare wide
* add logging
* remove newline
* small skip test
* more random
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 3741908733
* Added wide cam vipc client and bigmodel transform logic
* Added wide_frame to ModelState, should still work normally
* Refactored image input into addImage method, should still work normally
* Updated thneed/compile.cc
* Bigmodel, untested: 44f83118-b375-4d4c-ae12-2017124f0cf4/200
* Have to initialize extra buffer in SNPEModel
* Default paramater value in the wrong place I think
* Move USE_EXTRA to SConscript
* New model: 6c34d59a-acc3-4877-84bd-904c10745ba6/250
* move use extra check to runtime, not on C2
* this is always true
* more C2 checks
* log if frames are out of sync
* more logging on no frame
* store in pointer
* print sof
* add sync logic
* log based on sof difference as well
* keep both models
* less assumptions
* define above thneed
* typo
* simplify
* no need for second client is main is already wide
* more comments update
* no optional reference
* more logging to debug lags
* add to release files
* both defines
* New model: 6831a77f-2574-4bfb-8077-79b0972a2771/950
* Path offset no longer relevant
* Remove duplicate execute
* Moved bigmodel back to big_supercombo.dlc
* add wide vipc stream
* Tici must be tici
* Needs state too
* add wide cam support to model replay
* handle syncing better
* ugh, c2
* print that
* handle ecam lag
* skip first one
* so close
* update refs
Co-authored-by: mitchellgoffpc <mitchellgoffpc@gmail.com>
Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 85efde269d
* model output struct for metadata
* better max element search
* ModelDataRawDesireProb.to_array()
* eliminate some copies
* not worth messing with softmax now
* remove unused includes
* more cleanup
* no longer pointers
* better variable name
* fix recurrent state
* improve variable name
* fix OUTPUT_SIZE and NET_OUTPUT_SIZE
old-commit-hash: 40d2e4ec90
* convert model data for leads to struct
* make things more consistent
* change names with path to plan
* consistent use of plural
old-commit-hash: 7bb13acc45
* lane lines and road edges
* roll back some changes to find what broke things
* rollback more changes to find issue
* fix order of lane line probs
* try outputs on stack again
* initialize output array
old-commit-hash: 755a0a63a2
* model pose more struct
* constexpr seems useful
* more concise
* fix order
* seems more readable
* plan struct
* attempt to fix compiling on device
* fix constexpr errors on device
* fix rotation rate in log
* maybe this fixes compiling constexpr on device
* exp() cannot be used in constexpr on c2
* only copy what we actually log
* simplify pivot()
* fix setting position std
* see if this works
* try lambda again
* giving up on the lambda to select member
* fix position std
* fix param order
old-commit-hash: a7f36c9daf
* correct, I think
* add model execution time
* remove unused
* token is a file
* this is gonna change
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 7378bc4284
* refactor draw model
* rebase master
* correct valid_len
* rename function
* rename variables
* white space
* rebase to master
* e16c13ac-927d-455e-ae0a-81b482a2c787
* start rewriting
* save proress
* compiles!
* oops
* many fixes
* seems to work
* fix desires
* finally cleaned
* wrong std for ll
* dont pulse none
* compiles!
* ready to test
* WIP does not compile
* compiles
* various fixes
* does something!
* full 3d
* not needed
* draw up to 100m
* fix segfault
* wrong sign
* fix flicker
* add road edges
* finish v2 packet
* Added pytorch supercombo
* fix rebase
* no more keras
* Hacky solution to the NCHW/NHWC incompatibility between SNPE and our frame data
* dont break dmonitoringd, final model 229e3ce1-7259-412b-85e6-cc646d70f1d8/430
* fix hack
* Revert "fix hack"
This reverts commit 5550fc01a7881d065a5eddbbb42dac55ef7ec36c.
* Removed axis permutation hack
* Folded padding layers into conv layers
* Removed the last pad layer from the dlc
* Revert "Removed the last pad layer from the dlc"
This reverts commit b85f24b9e1d04abf64e85901a7ff49e00d82020a.
* Revert "Folded padding layers into conv layers"
This reverts commit b8d1773e4e76dea481acebbfad6a6235fbb58463.
* vision model: 5034ac8b-5703-4a49-948b-11c064d10880/780 temporal model: 229e3ce1-7259-412b-85e6-cc646d70f1d8/430 with permute + pool opt
* fix ui drawing with clips
* ./compile_torch.py 5034ac8b-5703-4a49-948b-11c064d10880/780 dfcd2375-81d8-49df-95bf-1d2d6ad86010/450 with variable history length
* std::clamp
* not sure how this compiled before
* 2895ace6-a296-47ac-86e6-17ea800a74e5/550
* db090195-8810-42de-ab38-bb835d775d87/601
* 5m is very little
* onnx runner
* add onnxruntime to pipfile
* run in real time without using the whole CPU
* bump cereal;
* add stds
* set road edge opacity based on stddev
* don't access the model packet in paint
* convert mat.h to a c++ header file (#2499)
* update tests
* safety first
Co-authored-by: deanlee <deanlee3@gmail.com>
Co-authored-by: mitchell <mitchell@comma.ai>
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: George Hotz <george@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 08846b5c0e
* remove read_model
* remove structs for c-capnp
* remove duplicate #define from modeld
* add function fill_path_points
* fix Indentation
* use MODEL_PATH_DISTANCE instead of 192
* fix type
use validLen
* rename left_path_points&right_path_points to xxx_lane_points
old-commit-hash: f8ab6bd009
* Revert "Fix modeld dropping frames if processing takes over 50 ms"
This reverts commit fb908877a50d72e20a047bd4138316b12c8a30cc.
* track frame drop
* fix unused
* alert on frame drop perc
* reduce thresholds
* posenet is invalid on non-consecutive frames
* Refactor filter time constant
* Use vipc_dropped_frames for posenet valid check
* Actually set frame drop percentage
* Add explicit cast just to be sure
* Prevent frames dropped to go up to quickly on startup
* bump cereal
* reduce soft disable threshold to 1%
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 58c3b5ba84
* alert when modeld is lagging by more than 1 frame
* log frameAge in modelData
* set posenet valid
* compute frame_age once
old-commit-hash: 03e824a4b5