Add Tuner class #301
Add Tuner class #301omkar-334 wants to merge 8 commits intoroboflow:feat/cli/tune-hyperparameter-optimizationfrom
Tuner class #301Conversation
|
@SkalskiP here's the colab for testing this out - https://colab.research.google.com/drive/1Y9l8SIYUdRwDChzh73ScobSZ59n0kgZG?usp=sharing Since we're saving the optuna study as a class variable, the user has the convenience of plotting it or saving it too. I think this is nice. |
|
Hi @omkar-334, this is so cool! 🔥 I'm so excited for this feature. Is there a way we could summerize those experiments in a table? Or return information about all experiments at the end of tuning? |
hey @SkalskiP , This is really handy and since we already save the optuna study as a class variable, the user can access it anytime. |
|
hey @SkalskiP , just a nudge, can you review this |
|
Hi @omkar-334, I’m very sorry. I was sick all week. I only started to feel a bit better yesterday, so today I’m getting back to GitHub. |
no worries, @SkalskiP ... take care. I was working on the 3rd part. will make a PR for this after you review this. |
Signed-off-by: Omkar Kabde <omkarkabde@gmail.com>
7fbbf09 to
189efbb
Compare
|
Hi @omkar-334, Heads up. I rebased your branch onto the latest First, I merged There was one conflict in This rebase rewrote the commit history and required a force push. If you have local changes on this branch, sync your local branch with the remote before continuing. |
|
@omkar-334, I am working on the code review and have a few comments. I also want to run several local tests to compare the results with those from #309, but I need to consult with the rest of the Trackers team first to ensure I do this correctly. |
|
@omkar-334 Can you also add a OC-SORT was recently added to the codebase (merged into search_space: ClassVar[dict[str, dict]] = {
"lost_track_buffer": {"type": "randint", "range": [10, 61]},
"minimum_iou_threshold": {"type": "uniform", "range": [0.1, 0.5]},
"minimum_consecutive_frames": {"type": "randint", "range": [3, 6]},
"direction_consistency_weight": {"type": "uniform", "range": [0.0, 0.5]},
"high_conf_det_threshold": {"type": "uniform", "range": [0.4, 0.8]},
"delta_t": {"type": "randint", "range": [1, 4]},
} |
Done , I've added
Even i wanted to know how the comparison looks like... do let me know. Thanks! |
|
@AlexBodner can you tell @omkar-334 more about methodology we used? (or share link to docs once we update it) I think it's crucial we get similar outcomes with |
|
Hello @omkar-334. You can find the code for the parameter tuning in #309 in the following repo: https://github.com/AlexBodner/trackers-parameter-tuning/tree/main
|
|
Thanks @AlexBodner ! I'll take a look at it and try to replicate the results with my code. interesting. |
|
great @omkar-334 ! Do you have any notebook or script running on any full dataset? I'm trying to use Tuner and seems that i'm inputting the dataset format incorrectly. I flattened both gts and dets to different directories and im passing the path to both directories, but the metric received is 0.0 (HOTA). |
@AlexBodner you can take a look at this colab notebook |
|
do you think the dataset handling and flattening should be done by the tuner? ideally it should just work when user plugs in our drive links of the dataset. |
|
I dont think so, but maybe lets be clear with the expected format (i know it says mot, but lets invite the users to check the detections format of their dataset. For example, dancetrack uses different coordinates and 6 comma separated values instead of the 10 in MOT. So I would specify : # MOT format: , , <bb_x_left>, <bb_y_left>, <bb_width>, <bb_height>, , -1, -1, -1 maybe in the future we provide an utility for converting to MOT17 format |



What does this PR do?
This PR adds the
Tunerclass and the corresponding tests for it.#260 cc @SkalskiP
Type of Change
Testing
Checklist
Additional Context