Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add model yolo-nas #27

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

quangdungluong
Copy link

Description

Add model yolo-nas inference with results

Type of change

Please delete options that are not relevant.

  • [ x] New feature (non-breaking change which adds functionality)

@LinasKo
Copy link
Contributor

LinasKo commented Sep 12, 2024

Thank you for your contribution @quangdungluong!

I'll verify and merge it today!

@LinasKo
Copy link
Contributor

LinasKo commented Sep 12, 2024

Hi @quangdungluong,

The code looks great!
I made a small update to the model names, so please pull your code before working on it.

I have a few questions:

Dependencies

I've updated the supervision version in requirements.txt.

However, on neither of my machines (mac, linux) can I resolve the dependencies successfully. Did pip install -r requirements.txt work for you, or did you need to install something directly / ignore the errors?

Also, would you mind reinstalling it and rerunning the results? The updated supervision version may give more accurate results.

Model parameters

Ideally we'd like to replicate the parameters used to benchmark the models originally.
However, we won't go as far as convert to ONNX, apply TensorRT. I have a suspicion that's exactly what they did, but I'm not 100% sure.

I see you used the following - did you have the chance to dig any deeper to check what values YOLO-NAS authors suggested for validation? Personally, I couldn't find any.

model_params = dict(
    iou=0.6,
    conf=0.001,
)

@quangdungluong
Copy link
Author

Hi @LinasKo,
I have pulled the updated code and continued working on it.

Depedencies

I have created a new environment and run pip install -r requirements.txt. The code runs directly without needing to install anything else. I also updated to the new version of Supervision and reran the results.

Model parameters

I have dug deeper into the YOLO-NAS documentation and found the post-processing parameters they use for validation when training models. Based on those values, I reran the code and obtained new results.

coco2017_yolo_nas_train_params.yaml
About yolo-nas metrics

@LinasKo
Copy link
Contributor

LinasKo commented Sep 13, 2024

Hey @quangdungluong,

Thank you very much for your contribution!

Just in case, I'll leave this open for a bit, see if I can get in contact with the authors to check whether we're running it in an optimal way.

The code looks great. We can merge as soon as we:

  • Verify with the authors that these are the validation parameters
  • Add model param icon (gear icon you can hover on to get model params, see here)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants